*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f4f6f9;--surface: #ffffff;--surface2: #f6f6f6;--border: #e0e0e0;--border-light: #ececec;--accent: #4a90e2;--accent-dark: #1a56c9;--accent-bg: #e8f0fe;--text: #222;--text-mid: #555;--text-muted: #888;--text-faint: #aaa;--success: #2e7d32;--success-bg: #f0faf1;--warn: #b45309;--error: #c00;--error-bg: #fff5f5;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius: 6px;--shadow: 0 1px 4px rgba(0,0,0,.07)}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}.layout{display:grid;grid-template-columns:260px 1fr;grid-template-rows:48px 1fr;height:100vh}.header{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.header-fuse-logo{height:22px;width:auto;display:block}.header-logo{font-size:1rem;font-weight:700;color:var(--accent-dark);letter-spacing:-.01em}.header-sub{font-size:12px;color:var(--text-muted)}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:12px 10px;gap:4px;overflow-y:auto}.sidebar-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600;padding:4px 8px 8px}.session-item{padding:8px 10px;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s}.session-item:hover{background:var(--surface2)}.session-item.active{background:var(--accent-bg);border-color:#c0d4f5}.session-item-task{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item-status{font-size:11px;margin-top:2px}.status-pending{color:var(--text-faint)}.status-running{color:var(--accent)}.status-done{color:var(--success)}.status-error{color:var(--error)}.sidebar-new-btn{margin-top:auto;padding:8px 12px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s}.sidebar-new-btn:hover{background:var(--accent-dark)}.sidebar-import-btn{margin-top:6px;padding:7px 12px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.sidebar-import-btn:hover{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-bg)}.main{display:flex;flex-direction:column;overflow-y:auto;background:var(--bg);min-height:0}.task-form{padding:10px 28px 12px;background:var(--surface);border-bottom:1px solid var(--border);flex:0 0 auto;position:sticky;top:0;z-index:10}.task-display{margin-bottom:8px}.task-display>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13px;-webkit-user-select:none;user-select:none}.task-display>summary::-webkit-details-marker{display:none}.task-display>summary:before{content:"▸";font-size:10px;color:var(--text-muted);transition:transform .12s}.task-display[open]>summary:before{transform:rotate(90deg)}.task-display-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:700}.task-display-snippet{flex:1;color:var(--text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.task-display-full{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:13px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:280px;overflow-y:auto;margin-top:6px}.task-form h2{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:600;margin-bottom:10px;cursor:default}.task-form textarea{width:100%;min-height:160px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--sans);font-size:13px;padding:10px 12px;resize:vertical;outline:none;transition:border-color .15s}.task-form textarea:focus{border-color:var(--accent);background:#fff}.task-form textarea::placeholder{color:var(--text-faint)}.form-controls{display:flex;align-items:center;gap:16px;margin-top:10px;flex-wrap:wrap}.form-field{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-mid)}.form-field input[type=number],.form-select{background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px;padding:4px 8px;outline:none;font-family:var(--sans)}.form-field input[type=number]{width:64px}.form-field input[type=number]::-webkit-inner-spin-button,.form-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-field input[type=number]{-moz-appearance:textfield}.form-select{min-width:120px;cursor:pointer}.form-field input[type=number]:focus,.form-select:focus{border-color:var(--accent)}.run-btn{margin-left:auto;padding:7px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s}.run-btn:disabled{opacity:.45;cursor:not-allowed}.run-btn:not(:disabled):hover{background:var(--accent-dark)}.edit-rerun-btn{padding:7px 14px;background:transparent;border:1px solid var(--accent);color:var(--accent-dark);border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,color .12s}.edit-rerun-btn:hover{background:var(--accent);color:#fff}.stop-btn{padding:7px 16px;background:transparent;border:1px solid var(--error);color:var(--error);border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,color .12s}.stop-btn:hover{background:var(--error);color:#fff}.chart-panel-toggle{padding:5px 12px;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius);font-size:12px;cursor:pointer;transition:border-color .12s,color .12s}.chart-panel-toggle:hover,.chart-panel-toggle.active{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-bg)}.chart-panel{border-bottom:1px solid var(--border);padding:14px 28px 16px;background:var(--surface)}.chart-wrapper{display:flex;flex-direction:column;gap:10px}.chart-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.chart-stats{display:flex;gap:20px}.chart-stat{display:flex;flex-direction:column;gap:1px}.chart-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:600}.chart-stat-value{font-size:15px;font-weight:700;color:var(--text)}.chart-toggle{display:flex;gap:3px;background:var(--surface2);padding:3px;border-radius:var(--radius);border:1px solid var(--border)}.chart-toggle-btn{padding:4px 12px;border:none;background:transparent;color:var(--text-muted);font-size:12px;border-radius:4px;cursor:pointer;transition:background .12s,color .12s}.chart-toggle-btn.active{background:var(--accent);color:#fff;font-weight:600}.chart-toggle-btn:not(.active):hover{color:var(--text);background:var(--border-light)}.chart-empty{height:72px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-faint);font-style:italic}.chart-tooltip{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:12px;box-shadow:0 2px 8px #0000001a;min-width:150px}.chart-tooltip-title{font-weight:600;margin-bottom:5px;color:var(--text)}.chart-tooltip-row{display:flex;justify-content:space-between;gap:14px;margin-top:2px;color:var(--text-muted)}.chart-tooltip-row strong{color:var(--text)}.scroll-region{display:flex;flex-direction:column}.events-feed{padding:14px 28px 18px;display:flex;flex-direction:column;gap:8px}.event-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;font-size:13px;box-shadow:var(--shadow)}.event-card.status{border-left:3px solid var(--accent)}.event-card.score{border-left:3px solid #f59e0b}.event-card.gen-summary{border-left:3px solid var(--success)}.event-card.result{border-left:3px solid var(--success);background:var(--success-bg)}.event-card.error{border-left:3px solid var(--error);background:var(--error-bg)}.event-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:600;margin-bottom:4px}.event-message{color:var(--text);line-height:1.5}.score-bar-row{display:flex;align-items:center;gap:8px;margin-top:6px}.score-bar-track{flex:1;height:5px;background:var(--border-light);border-radius:3px;overflow:hidden}.score-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-dark));border-radius:3px;transition:width .4s ease}.score-value{font-weight:700;color:var(--accent-dark);min-width:32px;text-align:right;font-size:12px}.copy-btn{margin-top:8px;padding:6px 14px;background:transparent;border:1px solid var(--accent);color:var(--accent-dark);border-radius:var(--radius);font-size:12px;cursor:pointer;transition:background .12s}.copy-btn:hover{background:var(--accent);color:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--text-faint);gap:6px;font-size:13px;font-style:italic;padding:28px 24px}.empty-state-icon{font-size:2rem;margin-bottom:4px}.empty-state-rationale{margin-top:22px;max-width:600px;background:var(--accent-bg);border:1px solid #c0d4f5;border-radius:var(--radius);padding:14px 18px;font-style:normal;text-align:left}.empty-state-rationale-title{font-size:12px;font-weight:700;color:var(--accent-dark);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.empty-state-rationale-list{margin:0;padding-left:18px;font-size:12.5px;color:var(--text-mid);line-height:1.65}.empty-state-rationale-list li{margin-bottom:4px}.empty-state-rationale-list li:last-child{margin-bottom:0}.status-log{font-size:12px;color:var(--text-muted);padding:4px 10px;border-left:3px solid var(--border);font-style:italic}.gen-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.gen-block-last{border-left:3px solid var(--success)}.gen-block-header{width:100%;display:flex;align-items:center;gap:8px;padding:10px 14px;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s}.gen-block-header:hover{background:var(--surface2)}.gen-block-chevron{font-size:11px;color:var(--text-muted);width:12px;flex-shrink:0}.gen-block-title{font-size:13px;font-weight:600;color:var(--text)}.gen-block-badge{margin-left:auto;font-size:11px;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:2px 9px;display:flex;align-items:center}.gen-block-badge.running{color:var(--accent);border-color:#c0d4f5;background:var(--accent-bg)}.gen-block-body{padding:0 12px 14px;border-top:1px solid var(--border);background:var(--bg)}.gen-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.gen-cols.gen-cols-single{grid-template-columns:1fr}.gen-col{padding-right:4px;min-width:0}.gen-col-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-bottom:6px;padding:2px 0}.gen-col-label.top{color:var(--success)}.gen-col-label.bot{color:var(--error)}.cand-card{border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;margin-bottom:6px;background:#fff;display:flex;flex-direction:column;gap:4px}.cand-card.cand-top{border-left:3px solid var(--success)}.cand-card.cand-bot{border-left:3px solid #ffb3b3}.cand-score{font-size:12px;font-weight:700;color:var(--text)}.cand-top .cand-score{color:var(--success)}.cand-bot .cand-score{color:var(--error)}.scoring-badge{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-dark);background:var(--accent-bg);border:1px solid #c0d4f5;border-radius:3px;padding:1px 5px;margin-left:5px;vertical-align:middle}.cand-preview{font-size:11px;color:var(--text-mid);line-height:1.4;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.cand-view-btn{align-self:flex-start;margin-top:2px;padding:3px 8px;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-muted);cursor:pointer;transition:border-color .12s,color .12s}.cand-view-btn:hover{border-color:var(--accent);color:var(--accent-dark)}.popout-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center}.popout-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000002e;width:min(820px,92vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;resize:both}.popout-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.popout-title{font-size:13px;font-weight:600;color:var(--text)}.popout-close{background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.popout-close:hover{color:var(--text)}.popout-body{padding:14px 16px;overflow-y:auto;flex:1}.popout-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--text-muted);margin-bottom:6px}.popout-body .output-preview-frame{height:400px}.iter-table-wrap{overflow-x:auto;margin-top:4px}.iter-table{width:100%;border-collapse:collapse;font-size:12px}.iter-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.iter-table td{padding:7px 10px;border-bottom:1px solid var(--border-light);color:var(--text-mid);vertical-align:middle}.iter-table tr:last-child td{border-bottom:none}.iter-table tr:hover td{background:var(--surface2)}.iter-status-accepted{color:var(--success);font-weight:600}.iter-status-rejected,.iter-status-neutral{color:var(--text-muted)}.md{font-size:13px;line-height:1.65;color:var(--text);word-break:break-word}.md p{margin:0 0 .6rem}.md p:last-child{margin-bottom:0}.md h1{font-size:1.15rem;font-weight:700;margin:.8rem 0 .4rem}.md h2{font-size:1.05rem;font-weight:700;margin:.7rem 0 .35rem}.md h3{font-size:.98rem;font-weight:600;margin:.6rem 0 .3rem}.md h4,.md h5,.md h6{font-size:.92rem;font-weight:600;margin:.5rem 0 .25rem}.md ul,.md ol{margin:.3rem 0 .6rem 1.2rem;padding:0}.md li{margin:.2rem 0}.md li>p{margin:.15rem 0}.md strong{font-weight:700}.md em{font-style:italic}.md a{color:var(--accent-dark);text-decoration:underline}.md a:hover{color:var(--accent)}.md blockquote{margin:.5rem 0;padding:.35rem .8rem;border-left:3px solid var(--border);color:var(--text-mid)}.md hr{border:none;border-top:1px solid var(--border);margin:.8rem 0}.md code{background:var(--surface2);border:1px solid var(--border);padding:1px 5px;border-radius:3px;font-family:var(--mono);font-size:.85em}.md pre{background:#1a1d27;border:1px solid #2e3148;color:#e2e4f0;padding:12px 14px;border-radius:var(--radius);overflow-x:auto;margin:.6rem 0}.md pre code{background:transparent;border:none;padding:0;color:inherit;font-size:.85em;line-height:1.55}.md table{border-collapse:collapse;margin:.6rem 0;font-size:12px;width:100%}.md th,.md td{border:1px solid var(--border);padding:5px 9px;text-align:left;vertical-align:top}.md th{background:var(--surface2);font-weight:700}.md img{max-width:100%;height:auto}.result-prompt{margin-top:8px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;word-break:break-word}.output-preview-md{margin-top:8px;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);max-height:360px;overflow-y:auto}.popout-md{margin-top:6px;padding:10px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);max-height:280px;overflow-y:auto}.output-toggle-btn{margin-top:8px;padding:4px 12px;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius);font-size:11px;cursor:pointer;transition:border-color .12s,color .12s;display:block}.output-toggle-btn:hover{border-color:var(--accent);color:var(--accent-dark)}.output-preview-frame{display:block;margin-top:8px;width:100%;height:320px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.output-preview-text{margin-top:8px;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--mono);font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto;color:var(--text)}.form-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.template-picker-btn{background:var(--accent-bg);border:1px solid #c0d4f5;color:var(--accent-dark);border-radius:var(--radius);font-size:12px;font-weight:600;padding:6px 14px;cursor:pointer;transition:background .12s,border-color .12s}.template-picker-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.template-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000002e;width:min(900px,94vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.template-body{display:grid;grid-template-columns:240px 1fr;gap:0;flex:1;min-height:0}.template-list{border-right:1px solid var(--border);background:var(--surface2);overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.template-list-item{text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius);padding:10px 12px;cursor:pointer;transition:background .12s,border-color .12s}.template-list-item:hover{background:#fff}.template-list-item.active{background:#fff;border-color:var(--accent)}.template-list-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:3px}.template-list-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.template-detail{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.template-detail-name{font-size:16px;font-weight:700;color:var(--text)}.template-detail-desc{font-size:13px;color:var(--text-mid);line-height:1.6}.template-detail-best{font-size:12px;color:var(--text-muted);padding:8px 12px;background:var(--accent-bg);border-radius:var(--radius)}.template-detail-body{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:360px;overflow-y:auto;margin:0}.template-actions{display:flex;gap:10px;margin-top:4px}.advanced-toggle{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius);font-size:12px;padding:5px 12px;cursor:pointer;transition:border-color .12s,color .12s}.advanced-toggle:hover{border-color:var(--accent);color:var(--accent-dark)}.advanced-drawer{margin-top:12px;padding:14px 16px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:14px}.advanced-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.examples-section{display:flex;flex-direction:column;gap:8px}.examples-header{display:flex;align-items:center;justify-content:space-between}.examples-title{font-size:12px;font-weight:600;color:var(--text-mid);display:flex;align-items:center;gap:4px}.examples-count{font-size:11px;color:var(--text-muted)}.examples-empty{font-size:11px;color:var(--text-faint);font-style:italic;padding:4px 0}.example-row{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.example-row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.example-row-label{font-size:11px;font-weight:600;color:var(--text-muted)}.example-delete{background:none;border:none;color:var(--text-faint);font-size:12px;cursor:pointer;padding:0 2px;line-height:1}.example-delete:hover{color:var(--error)}.example-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.example-field{display:flex;flex-direction:column;gap:4px}.example-field label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.example-field textarea{background:var(--surface2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--sans);font-size:12px;padding:6px 8px;resize:vertical;outline:none;min-height:52px}.example-field textarea:focus{border-color:var(--accent);background:#fff}.add-example-btn{align-self:flex-start;background:none;border:1px dashed var(--border);color:var(--text-muted);border-radius:var(--radius);font-size:12px;padding:5px 12px;cursor:pointer;transition:border-color .12s,color .12s}.add-example-btn:hover{border-color:var(--accent);color:var(--accent-dark)}.result-actions{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.why-btn{padding:6px 14px;background:transparent;border:1px solid var(--accent);color:var(--accent-dark);border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,color .12s}.why-btn:hover{background:var(--accent);color:#fff}.export-group{display:flex;gap:4px;padding-left:6px;border-left:1px solid var(--border);margin-left:4px}.export-btn{padding:6px 12px;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius);font-size:11px;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.export-btn:hover{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-bg)}.why-loading{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:5px}.learning-card{margin-top:14px;background:#f0f7ff;border:1px solid #c0d4f5;border-radius:var(--radius);padding:14px 16px}.learning-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.learning-icon{font-size:16px}.learning-title{font-size:13px;font-weight:700;color:var(--accent-dark)}.learning-why{font-size:13px;color:var(--text-mid);line-height:1.6;margin-bottom:12px}.learning-section{margin-bottom:10px}.learning-section:last-child{margin-bottom:0}.learning-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--accent-dark);margin-bottom:6px}.learning-list{margin:0;padding-left:18px;font-size:12px;color:var(--text-mid);line-height:1.7}.learning-ordered{list-style:decimal}.grade-card{margin-top:4px;border:1px solid;border-radius:var(--radius);padding:14px 18px}.grade-card-header{display:flex;align-items:center;gap:14px}.grade-letter{width:56px;height:56px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;background:#fff;flex-shrink:0}.grade-card-summary{flex:1;min-width:0}.grade-card-title{font-size:14px;font-weight:700;margin-bottom:3px}.grade-card-headline{font-size:13px;color:var(--text-mid);line-height:1.5}.grade-detail{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.07)}.grade-detail-col{font-size:12px}.grade-detail-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-bottom:4px;color:var(--text-mid)}.grade-detail ul{margin:0;padding-left:16px;color:var(--text-mid);line-height:1.6}.grade-progress{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(0,0,0,.07)}.grade-progress-label{font-size:12px;color:var(--text-mid)}.cert-btn{padding:6px 14px;background:linear-gradient(135deg,#f0c14b,#e89020);color:#5b3a08;border:1px solid #c98a14;border-radius:var(--radius);font-size:12px;font-weight:700;cursor:pointer;transition:filter .12s}.cert-btn:hover{filter:brightness(1.05)}.cert-locked{font-size:11px;color:var(--text-muted);font-style:italic}.cert-modal{background:#fff;border-radius:8px;width:min(820px,94vw);max-height:92vh;overflow-y:auto;box-shadow:0 8px 32px #00000040}.cert-toolbar{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface2)}.cert-page{padding:28px;background:#fafaf5}.cert-border{border:6px double #b89656;background:linear-gradient(180deg,#fffdf6,#fdf7e8);padding:40px 50px 30px;text-align:center;position:relative;font-family:Georgia,Times New Roman,serif;color:#3d2e10}.cert-seal{position:absolute;top:-14px;right:-14px;width:50px;height:50px;background:#c98a14;color:#fffce8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;border:3px solid #fffdf6;box-shadow:0 2px 6px #0003}.cert-eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.25em;font-weight:700;color:#b89656;margin-bottom:8px}.cert-title{font-size:36px;font-weight:400;margin-bottom:6px;font-style:italic;color:#5b3a08}.cert-divider{height:1px;background:#b89656;margin:14px auto;width:60%}.cert-body{font-size:14px;line-height:1.7;margin:6px 0}.cert-name{font-size:30px;font-style:italic;color:#3d2e10;margin:14px 0;border-bottom:1px solid #b89656;display:inline-block;padding:0 30px 4px}.cert-grade{font-size:88px;font-weight:700;line-height:1;color:#c98a14;margin:14px 0 4px;font-family:Georgia,serif}.cert-stamp{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.25em;color:#b89656;margin:0 0 14px}.cert-footer{display:flex;justify-content:space-around;margin-top:28px;gap:30px}.cert-footer>div{flex:1;max-width:200px}.cert-line{border-top:1px solid #5b3a08;margin-bottom:4px}.cert-footer-label{font-family:var(--sans);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#6a5530}.cert-footer-value{font-size:12px;font-style:italic;color:#3d2e10;margin-top:2px}.cert-fineprint{font-family:var(--sans);font-size:9px;color:#b89656;margin-top:18px;letter-spacing:.05em}@media print{body *{visibility:hidden}.cert-page,.cert-page *{visibility:visible}.cert-page{position:absolute;left:0;top:0;width:100%;padding:0;background:#fff}.no-print{display:none!important}.popout-backdrop{background:#fff!important;position:static!important}.cert-modal{box-shadow:none!important;max-height:none!important;overflow:visible!important}.cert-toolbar{display:none!important}}.tip-wrap{position:relative;display:inline-flex;align-items:center;cursor:default}.tip-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--border);color:var(--text-muted);font-size:9px;font-weight:700;font-style:normal;line-height:1;margin-left:3px;-webkit-user-select:none;user-select:none;transition:background .12s,color .12s}.tip-wrap:hover .tip-icon{background:var(--accent);color:#fff}.tip-bubble{display:none;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 3px 12px #0000001f;padding:8px 11px;font-size:12px;font-weight:400;color:var(--text-mid);line-height:1.5;width:280px;white-space:pre-wrap;z-index:100;pointer-events:none}.tip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border)}.tip-bubble:before{content:"";position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#fff;z-index:1}.tip-wrap:hover .tip-bubble{display:block}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:5px}
