:root{--surface:#ffffff;--input-bg:#fcfdfb;--diagram-bg:#fcfdf9;--diagram-ink:#173b3b;--note-bg:#eaf0e5;--soft-bg:#f0f4ec;--art-bg:#eef0d9;--button-bg:#176f63;--button-hover:#115449;--error-bg:#fff0ec;--error-text:#7c3c2a;--error-line:#e7c6bd;--success-bg:#e8f2e9;--success-text:#286240;--success-line:#bdd7c3;--warning-bg:#f1f0e4;--warning-text:#795017;--warning-line:#e2dec3;color-scheme:light;--ink:#183b39;--teal:#176f63;--mint:#e4eee7;--paper:#f8f9f5;--line:#dce3db;--muted:#62736c;--orange:#edbd80}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.65}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button{cursor:pointer}header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:var(--surface)}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav form{margin:0}.brand{font-size:25px;letter-spacing:-1px;font-weight:750;color:var(--ink);display:flex;align-items:center;gap:11px}.brand-dot{font-size:8px;color:var(--teal);margin-left:-8px}.logo{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;width:38px;height:38px;color:white;background:var(--teal);font-family:Georgia,serif;font-size:30px}.avatar{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--mint);font-size:12px}.nav-button{border:0;background:none;color:var(--muted);padding:0}main{max-width:1260px;margin:auto;padding:44px 36px 72px;min-height:calc(100vh - 176px)}footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:24px max(5vw,24px);color:var(--muted);font-size:12px}.eyebrow{display:block;font-size:10px;font-weight:750;letter-spacing:1.9px;color:var(--teal);text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:38px;line-height:1.2;letter-spacing:-1.5px;margin:12px 0 16px}h2{font-size:23px;line-height:1.35;letter-spacing:-.6px}h3{font-size:19px;line-height:1.4}p{margin-bottom:18px}em{font-family:Georgia,serif;font-weight:400}.accent{color:#64a178}.muted,small{color:var(--muted)}.small,small{font-size:12px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.page-heading p{margin-bottom:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--teal);color:white;border:1px solid var(--teal);padding:12px 21px;border-radius:7px;font-size:13px;font-weight:650;line-height:1.55;white-space:normal}.button:hover{background:#115449;text-decoration:none}.button:disabled{opacity:.65;cursor:wait}.button.light{background:var(--soft-bg);color:var(--ink);border-color:var(--soft-bg)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:var(--mint)}.wide{width:100%;margin-top:20px}.hero{display:grid;grid-template-columns:1.2fr 1fr;min-height:342px;border-radius:12px;overflow:hidden;padding:38px 45px;background:#183e35;color:#f5f6e9;position:relative}.hero h2{font-size:43px;line-height:1.2;margin:17px 0;letter-spacing:-1.2px}.hero h2 em{color:#dce9b7}.hero p{font-size:13px;color:#cbdbca;line-height:1.8}.pill{display:inline-block;font-size:9px;letter-spacing:1.7px;border:1px solid #718b6b;border-radius:30px;padding:5px 11px}.hero-art{position:relative;display:grid;place-items:center}.art-card{z-index:1;width:240px;border:1px solid #a8b897;border-radius:12px;padding:25px;transform:rotate(-8deg);background:var(--art-bg);color:var(--ink);box-shadow:16px 18px 0 #48634b}.art-card>span{font-size:9px;letter-spacing:2px}.art-equation{font-family:Georgia,serif;font-size:40px;margin:14px 0 12px}.art-card small{font-size:9px}.art-chart{display:flex;align-items:end;gap:10px;height:73px;border-bottom:1px solid #91ac8d;margin-bottom:15px}.art-chart i{width:27px;background:#7e9d75;border-radius:3px 3px 0 0;height:25%}.art-chart i:nth-child(2){height:40%}.art-chart i:nth-child(3){height:55%}.art-chart i:nth-child(4){height:75%}.art-chart i:nth-child(5){height:100%;background:#c99851}.orbit{position:absolute;width:340px;height:250px;border:1px solid #46674c;border-radius:50%;transform:rotate(-35deg)}.orbit-two{width:240px;height:350px;transform:rotate(-30deg)}.spark{position:absolute;right:10%;top:8%;font-size:74px;color:#c9dc9c;z-index:2;line-height:1}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0 40px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.stats>div{padding:23px 26px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats span{display:block;font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:31px;line-height:1.6;font-weight:600}.stats strong small{font-size:13px;font-weight:400}.stats small{font-size:11px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:24px 0 17px}.section-heading h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pack-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;flex-direction:column;color:var(--ink);transition:transform .15s}.pack-card:hover{text-decoration:none;transform:translateY(-3px);border-color:#779a84}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:28px}.subject-icon{background:var(--soft-bg);display:grid;place-items:center;width:41px;height:41px;border-radius:9px;font-family:Georgia,serif;font-size:17px}.badge{display:inline-block;font-size:10px;border:1px solid var(--line);background:var(--soft-bg);border-radius:40px;padding:3px 10px}.pack-card .eyebrow{font-size:9px;letter-spacing:1px}.pack-card h3{margin:9px 0 12px;flex:1}.pack-card p{font-size:11px;color:var(--muted)}.pack-card p span{margin:0 6px}.card-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:15px;font-size:11px;color:var(--muted)}.card-bottom b{font-size:19px;color:var(--teal)}.panel{padding:30px;border:1px solid var(--line);background:var(--surface);border-radius:10px}.empty{text-align:center;border:1px dashed var(--line);background:var(--soft-bg);border-radius:12px;padding:55px 24px}.empty-symbol{display:block;font-size:48px;color:#8ba67e;margin-bottom:12px}.empty h1{font-size:30px}.empty h3{margin-bottom:8px}.empty p{color:var(--muted);font-size:13px}.history{padding:5px 25px}.history>a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:20px;border-bottom:1px solid var(--line);font-size:13px}.history>a:last-child{border:0}.history small{display:block}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;min-height:650px}.auth-copy h1{font-size:57px;line-height:1.18}.auth-copy p{max-width:420px;color:var(--muted)}.auth-copy em{color:var(--teal)}.auth-panel{padding:40px}.auth-panel h2{margin-top:14px}.mini-diagram{display:flex;align-items:center;gap:20px;margin-top:40px}.mini-diagram span{border:1px solid var(--line);padding:14px 18px;border-radius:8px;background:var(--soft-bg);font-size:12px}.mini-diagram b{font-size:22px;font-weight:400;color:#8aa17d}label{display:block;font-size:12px;font-weight:650;margin:18px 0 7px}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--input-bg);font-size:13px;line-height:1.6}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #7eaf91;border-color:var(--teal)}input[type=checkbox],input[type=radio]{accent-color:var(--teal);width:17px;height:17px;flex-shrink:0}.auth-panel form+p{margin-top:23px}.back{display:block;font-size:12px;margin-bottom:28px}.create-layout{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(240px,1fr);gap:28px;align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.step{display:inline-grid;place-items:center;width:29px;height:29px;background:var(--mint);border-radius:50%;font-size:11px;margin-right:9px}.form-section{border-top:1px solid var(--line);padding-top:28px;margin-top:28px}.checkbox{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.5}.note-panel{background:var(--note-bg)}.note-panel h3{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:16px 0 22px}.feature-list{padding-left:20px;font-size:13px}.feature-list li{padding-left:7px;margin:20px 0}.feature-list p{font-size:12px;color:var(--muted);margin:4px 0}.aside-note{padding:20px}.notice{padding:16px 18px;background:var(--warning-bg);border:1px solid var(--warning-line);border-radius:7px;font-size:13px;margin:18px 0}.notice.error{background:var(--error-bg);border-color:var(--error-line);color:var(--error-text)}.notice.success{background:var(--success-bg);border-color:var(--success-line)}.notice p:last-child{margin:7px 0 0}.prose{white-space:pre-line}.review{margin:12px 0;padding:22px}.review summary{cursor:pointer;font-weight:600;font-size:14px}.review[open] summary{margin-bottom:24px}.review li{padding:4px}.diagram{display:block;width:100%;max-width:600px;margin:24px auto;border:1px solid var(--line);border-radius:8px;background:var(--diagram-bg)}.test-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:26px;align-items:start}.question h2{font-size:24px;line-height:1.6;margin-top:26px}.timer{text-align:right;min-width:135px}.timer span{display:block;font-size:11px;color:var(--muted)}.timer strong{font-variant-numeric:tabular-nums;font-size:28px}.question .section-heading{margin:0}fieldset{border:0;padding:0;margin:26px 0}legend{font-size:12px;margin-bottom:6px;color:var(--muted)}.option{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:8px;padding:13px 17px;margin:10px 0;font-weight:400;font-size:14px;cursor:pointer}.option:has(input:checked){background:var(--mint);border-color:#53816b}.option-letter{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:5px;font-size:12px}.hint{font-size:13px;color:var(--teal);margin:15px 0}.hint p{margin-top:12px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.finish-row{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.text-button{padding:0;border:0;background:none;color:var(--teal);font-size:13px;font-weight:600}.navigator h3{font-size:16px;margin-top:12px}.question-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:23px 0}.question-grid a{display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;height:38px;font-size:12px}.question-grid a.answered{background:var(--mint);border-color:var(--line)}.question-grid a.current{outline:2px solid var(--teal);outline-offset:2px}.result-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:26px}.score-panel{border-radius:12px;background:#183e35;padding:35px;color:#eef4df}.score-panel .eyebrow{color:#bacda1}.score-panel>strong{display:block;font-size:80px;line-height:1.5;letter-spacing:-4px;font-weight:500}.score-panel strong small{font-size:20px;letter-spacing:0;margin-left:12px;color:#a6baa3}.score-panel p{font-size:13px;color:#cbdbca}.concept{margin:20px 0}.concept>div{display:flex;justify-content:space-between;font-size:13px;gap:15px}.concept progress{width:100%;height:8px;accent-color:var(--teal)}.answer-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;margin-right:8px}.correct{background:var(--success-bg);color:var(--success-text)}.incorrect{background:var(--error-bg);color:var(--error-text)}.skip{position:absolute;left:20px;top:-80px;background:var(--surface);padding:10px;z-index:10}.skip:focus{top:5px}.spinner{animation:spin 7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:900px){.auth-layout{gap:35px}.auth-copy h1{font-size:43px}.hero-art{transform:scale(.85)}.hero{padding:30px}.cards{grid-template-columns:1fr 1fr}.create-layout{grid-template-columns:1.6fr 1fr}.panel{padding:23px}.spark{right:0}.test-layout{grid-template-columns:1fr}.navigator{order:-1}.question-grid{grid-template-columns:repeat(10,1fr)}}@media(max-width:640px){header{height:74px;padding:0 19px}nav{gap:16px;font-size:11px}nav .avatar,nav>.muted{display:none}.brand{font-size:21px;gap:6px}.logo{width:30px;height:30px;font-size:25px}main{padding:27px 18px 45px}h1{font-size:30px}.page-heading{align-items:start;flex-direction:column;gap:20px}.hero{grid-template-columns:1fr;padding:27px}.hero h2{font-size:36px}.hero-art{height:280px;margin:15px -10px -5px}.stats{margin:20px 0 30px}.stats>div{padding:15px 10px}.stats span{font-size:10px;line-height:1.5;min-height:30px}.stats strong{font-size:27px}.stats>div>small{display:none}.cards,.create-layout,.auth-layout,.result-layout{grid-template-columns:1fr}.auth-layout{min-height:auto}.auth-copy{padding:15px 0}.auth-copy h1{font-size:43px}.mini-diagram{display:none}.form-grid{grid-template-columns:1fr}.auth-panel{padding:25px}.create-layout aside{order:2}.panel{padding:22px}.section-heading{align-items:start}.section-heading h2{font-size:20px}.question h2{font-size:20px}.question-grid{grid-template-columns:repeat(5,1fr)}footer{flex-direction:column;font-size:11px;padding:20px}.timer{text-align:left}.history>a{font-size:12px}.history>a>span{min-width:80px;text-align:right}.score-panel>strong{font-size:64px}}
.filters{margin-bottom:24px}.filters>.button{margin-top:20px;margin-right:15px}.pagination{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin:24px 0;font-size:12px}.level-picker{margin:18px 0}.level-picker legend{font-weight:650;color:var(--ink)}.level-picker label{margin:8px 0}.note-panel .form-grid{grid-template-columns:1fr}@media(max-width:640px){header nav{gap:9px;font-size:10px}header .brand-dot{display:none}}
.admin-nav{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:24px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.admin-metrics{display:flex;gap:22px;flex-wrap:wrap}.admin-metrics strong{font-size:24px;margin-left:8px}.table-scroll{overflow-x:auto;margin:20px 0}.admin-table{width:100%;border-collapse:collapse;background:var(--surface);text-align:left}.admin-table th,.admin-table td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top}.raw-response{white-space:pre-wrap;overflow-wrap:anywhere;max-height:650px;overflow:auto;background:var(--paper);padding:18px;font-size:12px}.audit-details{white-space:pre-wrap;overflow-wrap:anywhere;min-width:160px;font-size:11px}.admin-table small{overflow-wrap:anywhere}.panel+ .panel{margin-top:20px}@media(max-width:640px){header{height:auto;min-height:74px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:12px}header nav{flex-wrap:wrap}.admin-table{font-size:12px}}

.catalog-failure{color:var(--error-text);background:var(--error-bg);border-radius:8px;padding:12px;font-size:12px;overflow-wrap:anywhere}

.badge[data-state="failed"]{background:var(--error-bg);color:var(--error-text)}
.badge[data-state="published"]{background:var(--success-bg);color:var(--success-text)}
.badge[data-state="queued"],.badge[data-state="generating"]{background:var(--warning-bg);color:var(--warning-text)}
.generation-steps{list-style:none;padding:0;text-align:left;max-width:560px;margin:24px auto;display:grid;gap:12px}
.pack-card [hidden]{display:none}

.question-diagram{margin:24px 0}.question-diagram .diagram{height:auto;aspect-ratio:600/320;margin:0 auto;max-width:760px}
.question-diagram figcaption{display:flex;gap:12px;justify-content:space-between;align-items:start;font-size:12px;color:var(--muted);margin:10px 0}
.question-diagram figcaption span{max-width:70%;text-align:right}
.diagram-findings{font-size:12px;line-height:1.6;background:var(--warning-bg);border:1px solid var(--warning-line);padding:12px 16px;border-radius:7px;margin:12px 0}
.diagram-findings summary{cursor:pointer;font-weight:600}
@media(max-width:640px){.question-diagram figcaption{flex-direction:column}.question-diagram figcaption span{max-width:100%;text-align:left}}

.diagram-preview svg{display:block;width:100%;height:auto;background:var(--diagram-bg);border:1px solid var(--line);border-radius:8px}
.diagram-json{font-family:monospace;font-size:12px;line-height:1.5;tab-size:2}

.diagram-preview.preview-stale{opacity:.45}

:root[data-theme="dark"]{--ink:#e3eee7;--teal:#acdbc6;--mint:#244436;--paper:#101a17;--surface:#17241f;--line:#567065;--muted:#a3b8ad;--orange:#edbd80;--input-bg:#12201b;--diagram-bg:#17241f;--diagram-ink:#e3eee7;--note-bg:#203127;--soft-bg:#203127;--art-bg:#294231;--button-bg:#236951;--button-hover:#2d7b60;--error-bg:#3a2322;--error-text:#ffb4a5;--error-line:#89534b;--success-bg:#19392d;--success-text:#b0e5c6;--success-line:#4b8263;--warning-bg:#312b1d;--warning-text:#f0d395;--warning-line:#86724b;color-scheme:dark;}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--ink:#e3eee7;--teal:#acdbc6;--mint:#244436;--paper:#101a17;--surface:#17241f;--line:#567065;--muted:#a3b8ad;--orange:#edbd80;--input-bg:#12201b;--diagram-bg:#17241f;--diagram-ink:#e3eee7;--note-bg:#203127;--soft-bg:#203127;--art-bg:#294231;--button-bg:#236951;--button-hover:#2d7b60;--error-bg:#3a2322;--error-text:#ffb4a5;--error-line:#89534b;--success-bg:#19392d;--success-text:#b0e5c6;--success-line:#4b8263;--warning-bg:#312b1d;--warning-text:#f0d395;--warning-line:#86724b;color-scheme:dark;}}
header{height:auto;min-height:90px;gap:16px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
header nav{flex-wrap:wrap;gap:18px}.theme-picker{display:flex;align-items:center;gap:8px;margin:0}
.theme-option{display:grid;place-items:center;width:36px;height:36px;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted)}
.theme-option[aria-pressed="true"]{background:var(--mint);color:var(--ink);border-color:var(--teal)}
.theme-option:hover{color:var(--ink)}
.button:not(.secondary):not(.light),.logo{background:var(--button-bg);border-color:var(--button-bg);color:#fff}
.button:not(.secondary):not(.light):hover{background:var(--button-hover);border-color:var(--button-hover)}
.pack-card .catalog-failure{color:var(--error-text)}
.notice:not(.error):not(.success),.diagram-findings{color:var(--warning-text)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
@media(max-width:640px){header{min-height:74px}header nav{gap:10px}.theme-picker{gap:4px}}

.diagram-skeleton{height:230px;display:flex;align-items:center;justify-content:center;gap:18px;background:var(--soft-bg);border:1px solid var(--line);border-radius:10px;margin:20px 0;overflow:hidden}
.diagram-skeleton span{width:20%;height:45%;border-radius:9px;background:var(--mint);animation:skeleton-pulse 1.5s ease-in-out infinite alternate}
.diagram-skeleton[hidden],[data-diagram-job-status][hidden],.question-diagram[hidden]{display:none}
@keyframes skeleton-pulse{to{opacity:.35;transform:translateY(-6px)}}
[data-diagram-job-status]{padding:12px;background:var(--note-bg);border-radius:8px;font-size:13px}
[data-diagram-job-status] a{display:block}

.irt-panel{margin-top:26px}.irt-panel .stats{margin:20px 0}.irt-panel .concept{border-top:1px solid var(--line);padding-top:16px}.irt-panel .concept p{margin:8px 0}

.audit-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;padding:18px}.audit-filter label{margin:0 0 5px}.audit-filter .button{padding:10px 18px}.audit-table{table-layout:fixed;min-width:720px;font-size:12px}.audit-table th,.audit-table td{padding:8px 10px;line-height:1.45;overflow-wrap:anywhere}.audit-table th:nth-child(1){width:17%}.audit-table th:nth-child(2){width:21%}.audit-table th:nth-child(3){width:25%}.audit-table th:nth-child(4){width:37%}.audit-table small{font-size:11px}.audit-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.5;max-height:3em}.audit-open{font-size:11px;margin-top:3px}.audit-dialog{width:min(760px,calc(100% - 32px));max-height:85vh;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 20px 80px #0004}.audit-dialog::backdrop{background:#0008}.audit-dialog-content{padding:24px}.audit-dialog .section-heading{margin:0 0 12px;align-items:center}.audit-dialog h2{margin:0}.audit-dialog [data-audit-meta]{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px}.audit-dialog .audit-details{margin:0;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:7px;max-height:55vh;overflow:auto;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}body:has(.audit-dialog[open]){overflow:hidden}@media(max-width:640px){.audit-filter{grid-template-columns:1fr 1fr;padding:14px}.audit-filter>div:first-child{grid-column:1/-1}.audit-filter .button{justify-self:start}.audit-dialog-content{padding:16px}.audit-dialog .section-heading{gap:12px}.audit-dialog h2{font-size:18px}}

.catalog-batch-wait{max-width:820px;margin:18px auto;text-align:left}.catalog-batch-wait progress{width:100%;height:10px;accent-color:var(--teal)}.catalog-batch-wait [data-catalog-batch-status]{margin-bottom:8px}.catalog-skeletons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.catalog-skeleton{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.catalog-skeleton span{display:block;height:12px;margin-bottom:14px;border-radius:5px;background:var(--mint);animation:skeleton-pulse 1.5s ease-in-out infinite alternate}.catalog-skeleton span:first-child{height:75px;background:var(--soft-bg)}.catalog-skeleton span:last-child{width:65%;margin-bottom:0}.catalog-skeletons[hidden]{display:none}@media(max-width:640px){.catalog-skeletons{grid-template-columns:1fr}.catalog-skeleton:not(:first-child){display:none}}@media(prefers-reduced-motion:reduce){.catalog-skeleton span{animation:none}}

.bank-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:14px;align-items:end;padding:20px}.bank-filter label{margin:0 0 5px}.bank-filter-actions{display:flex;align-items:center;gap:12px;font-size:12px}.bank-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(280px,1fr);gap:26px;align-items:start}.bank-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.bank-package{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);transition:transform .15s,border-color .15s}.bank-package:hover{border-color:var(--teal);transform:translateY(-2px);text-decoration:none}.bank-thumbnail{display:block;width:100%;height:auto;aspect-ratio:480/260;object-fit:cover;background:var(--soft-bg)}.bank-package-body{padding:20px;flex:1;min-width:0}.bank-package h3{font-size:18px;margin:10px 0;overflow-wrap:anywhere}.bank-package p{font-size:12px;color:var(--muted);margin-bottom:12px}.bank-package-meta,.bank-package-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.bank-package-footer{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;align-items:center}.bank-package-footer strong{color:var(--teal)}.bank-view-switch{display:flex;gap:8px}.bank-view-switch .button{font-size:12px;padding:8px 14px}.bank-view-switch [aria-pressed=true]{background:var(--mint);border-color:var(--teal);color:var(--teal)}.bank-packages.is-list{grid-template-columns:1fr}.bank-packages.is-list .bank-package{flex-direction:row;align-items:stretch}.bank-packages.is-list .bank-thumbnail{width:150px;height:auto;align-self:center;object-fit:contain;flex-shrink:0}.bank-packages.is-list .bank-package-body{padding:14px 18px}.bank-packages.is-list h3{margin:6px 0}.bank-packages.is-list .bank-package-footer{margin-top:8px;padding-top:8px}.bank-packages>.empty{grid-column:1/-1}.simulation-builder h3{font-family:Georgia,serif;font-size:28px;margin:12px 0}.simulation-builder [data-level-choice][hidden]{display:none}.simulation-builder .level-picker{margin:18px 0}.simulation-builder input:disabled,.simulation-builder select:disabled{opacity:.6}.simulation-builder button:disabled{cursor:not-allowed}.simulation-cover{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:24px}@media(max-width:950px){.bank-filter{grid-template-columns:1fr 1fr}.bank-layout{grid-template-columns:minmax(0,1fr) 280px}.bank-packages{grid-template-columns:1fr}}@media(max-width:700px){.bank-layout{grid-template-columns:1fr}.bank-view-switch .button{padding:7px 10px}.bank-packages.is-list .bank-thumbnail{width:100px}.bank-filter{gap:10px;padding:16px}.bank-package-body{padding:16px}.bank-packages.is-list .bank-package-body{padding:12px}.bank-package-footer{gap:8px}.bank-packages.is-list .eyebrow{font-size:8px}}

.public-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center;margin:24px 0 60px}.public-hero h1{font-size:clamp(32px,4vw,56px);line-height:1.12;margin:20px 0}.public-hero .muted{font-size:17px;line-height:1.7}.public-hero h3{font-family:Georgia,serif;font-size:28px}.public-hero .actions{flex-wrap:wrap}.public-filter{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;align-items:end}.public-filter .actions{margin:0}.public-publish{border-block:1px solid var(--line);padding:16px 0;margin:18px 0}#katalog-publik{scroll-margin-top:24px}@media(max-width:700px){.public-hero{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.public-filter{grid-template-columns:1fr 1fr}}

.monitor-compact{display:flex;flex-wrap:wrap;gap:4px 12px;border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-size:11px;color:var(--muted)}.monitor-compact small{flex-basis:100%;font-size:10px}.evaluation-panel{margin-top:24px}.evaluation-panel .stats{margin:20px 0}.evaluation-panel .admin-table{font-size:12px}.evaluation-panel .admin-table th,.evaluation-panel .admin-table td{padding:10px;overflow-wrap:anywhere}.evaluation-panel details summary{cursor:pointer;font-weight:600}.evaluation-panel .monitor-notes{background:var(--soft-bg);padding:12px;border-radius:8px;margin:16px 0}
