:root{--bg:#f6f7f9;--surface:#fff;--text:#17202a;--muted:#596578;--line:#d8dee8;--primary:#2563eb;--primary-dark:#1d4ed8;--danger:#b42318;--success:#067647;--institution-header-height:64px}*{box-sizing:border-box;letter-spacing:0}html,body{min-height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}::selection{color:#17202a;background:#dbeafe}input,textarea{caret-color:var(--primary)}::placeholder{color:#667085;opacity:1}svg{flex:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4,button,pre,.notice{overflow-wrap:anywhere}.notice-region{z-index:5;position:sticky;top:12px}.app-shell{min-height:calc(100vh - var(--institution-header-height));grid-template-columns:248px minmax(0,1fr);display:grid}.institution-header{height:var(--institution-header-height);background:var(--surface);border-bottom:1px solid var(--line)}.institution-header-inner{align-items:center;max-width:1440px;height:100%;margin:0 auto;padding:0 32px;display:flex}.institution-logo{width:180px;max-width:100%;height:auto;display:block}.sidebar{border-right:1px solid var(--line);color:#f9fafb;background:#111827;min-width:0;padding:26px 18px}.brand-block{align-items:center;gap:10px;margin-bottom:24px;display:flex}.brand-icon{color:#bfdbfe;background:#1f2937;border-radius:6px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.brand-block h1{font-size:19px;line-height:1.25}.storage-pill{color:#d1d5db;align-items:center;gap:8px;font-size:12px;line-height:1.5;display:flex}.storage-pill[data-mode=supabase]{color:#bbf7d0}.connection-button{color:#bfdbfe;text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:6px 0;font-size:12px;text-decoration:underline}.nav-section{margin-top:30px}.section-title{color:#aeb9ca;margin:0 10px 10px;font-size:12px;font-weight:600}.folder-heading{margin-top:30px}.nav-item{color:#e5e7eb;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;min-height:40px;margin:2px 0;padding:8px 10px;display:flex}.nav-item .count{font-variant-numeric:tabular-nums;margin-left:auto}.nav-item.active,.nav-item:hover{background:#263244}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.workspace{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.topbar h2{font-size:24px;line-height:1.3}.topbar p{color:var(--muted);margin-top:4px;font-size:13px}.library-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.library-toolbar>select{width:190px}.search-box{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--muted);border-radius:6px;flex:250px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-box:focus-within{outline:2px solid var(--primary);outline-offset:2px}.search-box input{background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0}.clear-search{min-width:32px;height:32px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.mobile-quick-filter{display:none}.notice{border:1px solid var(--line);background:var(--surface);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:10px 12px;display:flex}.notice.success{color:var(--success);border-color:#a7d7bf}.notice.error{color:var(--danger);border-color:#f1b4af}.notice button,.icon-actions button,.icon-button,.quick-create button{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--text);border-radius:6px;flex-shrink:0;place-items:center;display:inline-grid}.notice button:hover,.icon-actions button:hover,.icon-button:hover,.quick-create button:hover{background:#edf1f7}.icon-actions button[aria-pressed=true]{color:#b42350}.content-grid{border-top:1px solid var(--line);grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);align-items:start;min-height:540px;display:grid}.prompt-list{min-width:0;padding:20px 20px 20px 0}.cards-list{scrollbar-width:thin;scrollbar-color:#a9b4c4 transparent;gap:10px;min-height:120px;max-height:calc(100vh - 210px);padding:3px;display:grid;overflow-y:auto}.prompt-card{border:1px solid var(--line);background:var(--surface);width:100%;min-height:132px;color:var(--text);text-align:left;border-radius:6px;gap:8px;padding:14px;display:grid}.prompt-card:hover{border-color:#8ea2c7}.prompt-card.selected{border-color:var(--primary);background:#f0f5ff}.card-title-row{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.card-preview{min-height:40px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.meta-row{color:var(--muted);flex-wrap:wrap;gap:6px 12px;font-size:12px;display:flex}.meta-row span{overflow-wrap:anywhere;align-items:center;gap:5px;display:inline-flex}.detail-panel,.editor-panel{border-left:1px solid var(--line);background:var(--surface);min-width:0;min-height:540px;padding:24px;scroll-margin-top:16px}.detail-header,.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.detail-header h3,.panel-header h3{min-width:0;font-size:20px;line-height:1.4}.icon-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.detail-header{flex-wrap:wrap}.detail-meta{margin-bottom:14px}.prompt-body,.optimization-result pre{white-space:pre-wrap;color:var(--text);scrollbar-width:thin;background:#f6f7f9;max-height:420px;margin:0;padding:16px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.65;overflow:auto}.prompt-body{min-height:170px}.usage-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.stats-row{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;font-size:12px;display:flex}.optimizer-panel{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:24px;display:flex}.optimizer-panel h4{font-size:16px}.optimizer-panel p{color:var(--muted);margin-top:4px;font-size:13px}.optimization-result{gap:16px;margin-top:24px;display:grid}.optimization-result h4{font-size:15px}.optimization-result ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.optimization-result li{color:var(--muted);align-items:flex-start;gap:8px;font-size:13px;display:flex}.optimization-result li svg{color:var(--success);margin-top:2px}select,input,textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--text);border-radius:6px}select,input{height:40px;padding:0 10px}textarea{resize:vertical;min-height:200px;padding:12px;line-height:1.6}.prompt-form{gap:24px;display:grid}.prompt-form fieldset{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.prompt-form legend{align-items:center;gap:8px;width:100%;padding:0 0 14px;font-size:15px;font-weight:650;display:flex}.step-number{color:#234b96;background:#e9effb;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:12px;display:inline-grid}.prompt-form label{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.prompt-form>fieldset>label:not(:first-of-type){margin-top:4px}.required-label,.optional-label{color:var(--muted);font-size:12px;font-weight:400}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.checkbox-row{align-items:center;min-height:32px;display:flex;gap:8px!important}.checkbox-row input{width:17px;height:17px;accent-color:var(--primary)}.primary-button,.secondary-button,.text-button{border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 14px;font-weight:600;line-height:1.4;display:inline-flex}.primary-button{border:1px solid var(--primary);background:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-dark)}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--text)}.secondary-button:hover{background:#eef2f6}.text-button{color:#1d4ed8;background:0 0;border:0}.text-button:hover{text-underline-offset:3px;text-decoration:underline}.button-row{flex-wrap:wrap;gap:10px;display:flex}.quick-create>div{grid-template-columns:minmax(0,1fr) 38px;gap:6px;display:grid}.field-error{color:var(--danger);font-size:13px}[aria-invalid=true]{border-color:var(--danger)}.empty-state{min-height:240px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px 12px;display:flex}.empty-state h3{font-size:17px;font-weight:500}.loading-screen{min-height:calc(100vh - var(--institution-header-height));color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.connection-screen{gap:20px;max-width:680px;margin:12vh auto;padding:28px;display:grid}.connection-screen h1{font-size:24px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:16px 24px;display:flex}.brand-block{margin:0}.nav-section{display:none}.mobile-quick-filter{display:block}.library-toolbar>select{flex:170px;width:auto}.search-box{flex-basis:100%}.workspace{padding:24px}.cards-list{max-height:calc(100vh - 280px)}}@media (max-width:760px){:root{--institution-header-height:56px}.institution-header-inner{padding:0 16px}.institution-logo{width:160px}body,input,select,textarea{font-size:16px}.sidebar{gap:10px 20px;padding:14px 16px}.workspace{padding:20px 16px}.topbar{flex-wrap:wrap;align-items:flex-start}.topbar h2{font-size:22px}.topbar .primary-button{font-size:14px}.library-toolbar{gap:8px}.library-toolbar>select{flex-basis:calc(50% - 8px)}.content-grid{grid-template-columns:minmax(0,1fr)}.prompt-list{padding:16px 0}.cards-list{max-height:320px}.detail-panel,.editor-panel{border-left:0;border-top:1px solid var(--line);background:0 0;min-height:0;padding:20px 0}.is-editing .editor-panel{border-top:0;order:-1}.form-grid{grid-template-columns:minmax(0,1fr)}.icon-actions button,.icon-button,.quick-create button{width:42px;height:42px}.quick-create>div{grid-template-columns:minmax(0,1fr) 42px}.button-row{gap:8px}.primary-button,.secondary-button{min-height:44px;font-size:14px}.connection-screen{margin:5vh auto;padding:24px}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}.course-nav{flex-wrap:wrap;gap:4px;display:flex}.course-nav a{min-height:42px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.course-nav a:hover{color:var(--text);background:#edf1f7}.course-nav a[aria-current=page]{color:#1d4ed8;background:#e5ecf8}.library-course-nav{border-bottom:1px solid var(--line);margin:-8px 0 24px;padding-bottom:12px}.course-shell{max-width:1440px;margin:0 auto;padding:24px 32px 64px}.course-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;display:flex}.course-header h1{font-size:20px}.course-header p,.course-caption,.source-ref{color:var(--muted);font-size:13px}.course-title{flex-wrap:wrap;align-items:center;gap:14px;padding:28px 0 24px;display:flex}.course-title h2{font-size:24px}.course-title p{color:var(--muted);margin-top:3px}.draft-state{color:var(--muted);margin-left:auto;font-size:13px}.draft-state.unsaved{color:var(--danger)}.view-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.view-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;min-height:44px;padding:10px 14px}.view-tabs button[aria-pressed=true]{color:#1d4ed8;border-bottom-color:var(--primary)}.view-tabs button:hover{background:#edf1f7}.method-grid{border-top:1px solid var(--line);grid-template-columns:minmax(240px,.7fr) minmax(0,1.5fr);margin-top:16px;display:grid}.method-list{max-height:700px;padding:10px 16px 10px 0;overflow:auto}.method-list button{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--text);background:0 0;gap:4px;padding:14px;display:grid}.method-list button[aria-pressed=true]{color:#1d4ed8;background:#e5ecf8}.method-list button:hover{background:#edf1f7}.method-list small{color:var(--muted)}.method-detail{border-left:1px solid var(--line);background:var(--surface);align-content:start;gap:18px;min-width:0;padding:24px;scroll-margin-top:16px;display:grid}.method-detail h3{font-size:21px}.concept-text{white-space:pre-wrap;font:inherit}.reading-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;display:grid}.lesson{border-bottom:1px solid var(--line);padding:22px 0}.lesson h3{margin-bottom:10px;font-size:18px}.lesson p{max-width:72ch;margin:10px 0}.exercise{border:0;border-bottom:1px solid var(--line);min-width:0;margin-top:24px;padding:18px 0}.exercise legend{font-weight:600}.exercise label{margin:6px 0}.answer-correct{color:var(--success);margin-top:12px}.answer-review{color:#935000;margin-top:12px}.workshop-steps{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 24px;padding:0;list-style:none;display:grid}.workshop-steps button{width:100%;min-height:52px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px;display:flex}.workshop-steps button[aria-current=step]{color:#1d4ed8;border-bottom-color:var(--primary);background:#edf2fb}.workshop-steps button:hover{background:#edf1f7}.workshop-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:36px;display:grid}.workshop-main{gap:20px;min-width:0;display:grid}.workshop-main h3{scroll-margin-top:20px;font-size:20px}.workshop-main h4,.evidence-panel h4{font-size:16px}.workshop-fields,.claim-fields{border:0;border-top:1px solid var(--line);gap:16px;min-width:0;margin:8px 0 0;padding:22px 0 0;display:grid}.workshop-fields legend,.claim-fields legend{padding:0 10px 0 0;font-weight:650}.claim-fields legend svg{color:var(--success);margin-left:8px}.workshop-fields label,.claim-fields label,.workshop-label,.calculation-tool label{align-content:start;gap:7px;font-size:13px;font-weight:600;display:grid}.field-hint{color:var(--muted);font-weight:400}.workshop-fields textarea,.claim-fields textarea,.workshop-label textarea{min-height:0;font-weight:400}.workshop-fields input,.claim-fields input,.workshop-label input{font-weight:400}.evidence-panel{border-left:1px solid var(--line);gap:14px;min-width:0;padding-left:28px;display:grid}.evidence-panel h3{font-size:18px}.source-excerpt{white-space:pre-wrap;background:var(--surface);max-height:420px;margin:0;padding:18px;font-family:inherit;font-size:13px;line-height:1.7;overflow:auto}.calculation-tool{border-top:1px solid var(--line);gap:12px;padding:22px 0 0;display:grid}.calculation-tool output{font-variant-numeric:tabular-nums;color:#095636;overflow-wrap:anywhere;background:#eaf4ef;padding:12px;font-weight:600}.checklist{margin:0;padding-left:22px}.checklist li{margin:8px 0}details summary{cursor:pointer;min-height:40px;padding:8px 0;font-weight:600}details a{color:#1d4ed8;text-underline-offset:3px}@media (max-width:1000px){.workshop-layout{grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:24px}.evidence-panel{padding-left:20px}}@media (max-width:760px){.course-shell{padding:16px 16px 40px}.course-header{gap:12px}.course-nav a{padding:8px 10px;font-size:14px}.course-title h2{font-size:22px}.draft-state{width:100%;margin-left:0}.method-grid,.reading-layout,.workshop-layout{grid-template-columns:minmax(0,1fr)}.method-list{max-height:260px;padding-right:0}.method-detail{border-left:0;border-top:1px solid var(--line);background:0 0;padding:20px 0}.workshop-steps{gap:0}.workshop-steps button{flex-direction:column;gap:5px;padding:8px 2px;font-size:12px}.workshop-steps .step-number{width:22px;height:22px}.evidence-panel{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.calculation-tool .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-fields label,.claim-fields label,.workshop-label{font-size:14px}}
