.module-author{display:flex;flex-direction:column;gap:12px;height:100%;font-family:var(--font-mono);font-size:13px}.module-author .author-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--border)}.module-author .author-toolbar-gap{flex:1}.module-author .author-pathbar{display:flex;align-items:center;gap:10px}.module-author .author-pathbar .lbl{margin-bottom:0;white-space:nowrap}.module-author .author-pathbar input{flex:1;max-width:640px}.module-author .author-path-note{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.module-author .author-banner{border:1px solid var(--warning);border-left-width:3px;color:var(--warning);padding:8px 12px;font-size:12px;border-radius:var(--radius)}.module-author .author-status{border:1px solid var(--border);border-left:3px solid var(--accent-dim);padding:8px 12px;font-size:12px;color:var(--text);border-radius:var(--radius);line-height:1.6}.module-author .author-server-report{font-size:12px;color:var(--text-dim);border-top:1px solid var(--border);padding-top:8px}.module-author .author-server-report strong{color:var(--accent-dim)}.module-author .author-body{display:flex;gap:14px;flex:1;min-height:420px;overflow:hidden}.module-author .author-workspace{width:250px;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius);overflow-y:auto;padding-bottom:8px}.module-author .author-panel-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);position:sticky;top:0;background:var(--bg)}.module-author .author-file{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:transparent;border:none;border-left:2px solid transparent;color:var(--text);font-family:var(--font-mono);font-size:11px;padding:6px 10px;cursor:pointer}.module-author .author-file:hover{background:#00ff410d}.module-author .author-file.active{border-left-color:var(--accent);color:var(--accent)}.module-author .author-file-path{word-break:break-all}.module-author .author-file-schema{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.module-author .author-dim{font-size:12px;color:var(--text-dim);padding:10px;line-height:1.6}.module-author .author-error{padding:10px;font-size:12px;line-height:1.6}.module-author .author-error>p:first-child{color:var(--error);margin-bottom:6px}.module-author .author-main{flex:1;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.module-author .author-sections{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}.module-author .author-section-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:9px 14px;cursor:pointer;white-space:nowrap}.module-author .author-section-tab:hover{color:var(--text)}.module-author .author-section-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.module-author .author-form{flex:1;overflow-y:auto;padding:18px 20px}.module-author .author-preview{border-top:1px solid var(--border);height:190px;display:flex;flex-shrink:0}.module-author .author-preview .preview-panel{width:100%;display:flex;flex-direction:column;overflow:hidden}.module-author .preview-hd{padding:6px 12px;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);flex-shrink:0}.module-author .preview-body{flex:1;overflow:auto;padding:10px 12px;font-size:11px;line-height:1.6;color:#8fbcbb;white-space:pre;font-family:var(--font-mono)}.module-author .section-title{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;padding-bottom:8px;border-bottom:1px solid var(--accent-dim)}.module-author .sub-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin:20px 0 10px}.module-author .field{margin-bottom:13px}.module-author .field-row{display:flex;gap:12px;margin-bottom:13px}.module-author .field-row .field{flex:1;margin-bottom:0}.module-author .lbl{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase;margin-bottom:4px}.module-author input[type=text],.module-author input[type=number],.module-author select,.module-author textarea{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono);font-size:12px;padding:6px 9px;outline:none;transition:border-color .12s}.module-author input:focus,.module-author select:focus,.module-author textarea:focus{border-color:var(--accent-dim)}.module-author textarea{resize:vertical;min-height:56px}.module-author select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23555'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:26px}.module-author .hint{font-size:11px;color:var(--text-dim)}.module-author .list-item{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px}.module-author .list-item-hd{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid var(--border);font-size:11px;font-weight:700;color:var(--text);gap:8px}.module-author .list-item-hd .item-label{flex:1;color:var(--accent-dim)}.module-author .list-item-bd{padding:12px;display:flex;flex-direction:column}.module-author .list-item-bd .field{margin-bottom:10px}.module-author .list-item-bd .field:last-child{margin-bottom:0}.module-author .list-item-bd .field-row{margin-bottom:10px}.module-author .list-item-bd .field-row:last-child{margin-bottom:0}.module-author .btn-danger{border-color:#5a2020;color:var(--error)}.module-author .btn-danger:hover{border-color:var(--error)}.module-author .btn-add{width:100%;margin-top:8px;border-style:dashed;border-color:var(--accent-dim);color:var(--accent-dim)}.module-author .btn-add:hover{border-color:var(--accent);color:var(--accent)}.module-author .btn:disabled{opacity:.35;cursor:not-allowed}.module-author .validation-panel{border:1px solid var(--border);border-radius:var(--radius);max-height:170px;display:flex;flex-direction:column;flex-shrink:0}.module-author .validation-hd{padding:8px 14px;border-bottom:1px solid var(--border);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;flex-shrink:0}.module-author .validation-hd.ok{color:var(--accent)}.module-author .validation-hd.err{color:var(--error)}.module-author .validation-hd.warn{color:var(--warning)}.module-author .validation-list{flex:1;overflow-y:auto;padding:6px 14px}.module-author .ve{display:flex;gap:16px;padding:4px 0;border-bottom:1px solid #1c1c1c;font-size:11px}.module-author .ve:last-child{border-bottom:none}.module-author .ve-path{color:var(--warning);font-weight:700;min-width:220px;flex-shrink:0;word-break:break-all}.module-author .ve-msg{color:var(--error)}.module-author .validation-ok{color:var(--text-dim);font-size:11px;padding:8px 0;line-height:1.6}.author-provenance{border:1px solid var(--accent-dim);border-left-width:3px;background:#00ff410a;padding:8px 12px;margin-bottom:10px;font-size:12px;line-height:1.6}.author-provenance code{color:var(--accent)}.author-picker{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);padding:0 0 10px;margin-bottom:12px;max-height:420px;overflow:auto}.author-picker .author-panel-hd{position:sticky;top:0;z-index:1}.author-provenance-copy{padding:8px 12px;max-width:90ch}.author-picker-filter{width:calc(100% - 24px);margin:0 12px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:6px 8px;font-family:var(--font-mono);font-size:12px}.author-picker-filter:focus{outline:none;border-color:var(--accent-dim)}.author-picker-group{margin-bottom:6px}.author-picker-group-hd{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);padding:6px 12px 2px}.module-info .info-verify{border:1px solid var(--accent-dim);border-left-width:3px;border-radius:var(--radius);padding:12px 14px}.module-info .info-verify-hd{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.module-info .info-verify-copy{font-size:12px;line-height:1.7;color:var(--text);margin-bottom:10px}.module-info .info-verify-copy strong{color:var(--warning)}.module-info .info-verify-list{list-style:none;display:flex;flex-direction:column;gap:8px}.module-info .info-verify-list li{display:grid;grid-template-columns:200px 1fr;gap:4px 12px;align-items:baseline;font-size:11px}.module-info .info-verify-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.module-info .info-verify-list code{color:var(--accent);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:3px 7px;word-break:break-all}.module-info .info-verify-note{grid-column:2;color:var(--text-dim);line-height:1.6}.module-info .info-summary{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.module-info .info-summary-row{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;min-width:130px}.module-info .info-summary-key{font-size:11px;color:var(--accent-dim);letter-spacing:.06em}.module-info .info-summary-count{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.module-info .info-panel-hd-second{margin-top:18px}.module-info .info-summary-group{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;border-left:1px solid var(--border);padding-left:10px}.module-info .info-summary-group-hd{width:100%;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:2px}.module-publish{display:flex;flex-direction:column;gap:14px;font-family:var(--font-mono);font-size:12px}.module-publish .publish-intro{font-size:12px;line-height:1.7;color:var(--text-dim);max-width:900px}.module-publish code{color:var(--accent-dim);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:1px 5px}.module-publish .publish-section{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);padding-bottom:6px;margin-top:8px}.module-publish .publish-dim{color:var(--text-dim);line-height:1.6}.module-publish .publish-hash{font-size:11px;color:var(--text-dim);word-break:break-all}.module-publish .publish-channels{display:flex;gap:14px;flex-wrap:wrap}.module-publish .publish-channel{flex:1;min-width:260px;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.module-publish .publish-channel-published{border-color:var(--accent-dim)}.module-publish .publish-channel-hd{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.module-publish .publish-channel-published .publish-channel-hd{color:var(--accent)}.module-publish .publish-channel-release{font-size:15px;color:var(--text);letter-spacing:.04em}.module-publish .publish-status{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:9px 12px;line-height:1.6}.module-publish .publish-alert{border:1px solid var(--warning);border-left-width:3px;border-radius:var(--radius);padding:9px 12px;color:var(--warning);line-height:1.6}.module-publish .publish-alert ul{margin:6px 0 0 18px}.module-publish .publish-refusal{border:1px solid var(--error);border-left-width:3px;border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.module-publish .publish-refusal-hd{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--error)}.module-publish .publish-refusal-message{line-height:1.6}.module-publish .publish-failures{width:100%;border-collapse:collapse;font-size:11px}.module-publish .publish-failures th{text-align:left;color:var(--text-dim);font-weight:400;padding:4px 8px;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.module-publish .publish-failures td{padding:4px 8px;border-top:1px solid var(--border);vertical-align:top}.module-publish .publish-confirm{border:1px solid var(--accent-dim);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:8px;max-width:640px}.module-publish .publish-confirm-hd{font-size:13px;color:var(--text)}.module-publish .publish-confirm-hd strong{color:var(--accent)}.module-publish .publish-confirm input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono);font-size:13px;padding:7px 10px;outline:none}.module-publish .publish-confirm input:focus{border-color:var(--accent-dim)}.module-publish .lbl{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase}.module-publish .publish-confirm-actions{display:flex;gap:8px}.module-publish .publish-release{border:1px solid var(--border);border-radius:var(--radius);padding:11px 14px;display:flex;flex-direction:column;gap:7px}.module-publish .publish-release-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.module-publish .publish-release-id{font-size:14px;color:var(--text);letter-spacing:.04em}.module-publish .publish-toolbar-gap{flex:1}.module-publish .publish-tag{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--text-dim);color:var(--text-dim);border-radius:var(--radius);padding:2px 6px}.module-publish .publish-tag-live{border-color:var(--accent);color:var(--accent)}.module-publish .publish-release-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--text-dim);font-size:11px}.module-publish .publish-packs{display:flex;gap:6px;flex-wrap:wrap}.module-publish .publish-pack{font-size:10px;border:1px solid var(--border);border-radius:var(--radius);padding:2px 7px;color:var(--text-dim)}.module-publish .publish-pack.bundled{border-color:var(--accent-dim);color:var(--accent-dim)}.module-publish .publish-notes{font-size:11px;color:var(--text);line-height:1.6}.module-publish .publish-verify{font-size:11px;line-height:1.6}.module-publish .publish-verify.ok{color:var(--accent)}.module-publish .publish-verify.bad{color:var(--error)}.module-publish .publish-history{width:100%;border-collapse:collapse;font-size:11px}.module-publish .publish-history th{text-align:left;color:var(--text-dim);font-weight:400;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px}.module-publish .publish-history td{padding:4px 8px;border-top:1px solid var(--border)}.module-publish .btn:disabled{opacity:.35;cursor:not-allowed}.module-trace .trace-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.module-trace .trace-filter{font-family:var(--font-mono);font-size:12px;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px}.module-trace .trace-dropzone{border:1px dashed var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px;font-size:13px;color:var(--text-dim)}.module-trace .trace-dropzone.dragging{border-color:var(--accent);background:#00ff410d}.module-trace .trace-runs{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12px}.module-trace .trace-runs th{text-align:left;color:var(--text-dim);font-weight:400;padding:5px 8px;border-bottom:1px solid var(--border)}.module-trace .trace-runs td{padding:5px 8px;border-top:1px solid var(--border)}.module-trace .trace-runs tbody tr{cursor:pointer}.module-trace .trace-runs tbody tr:hover{background:#00ff410a}.module-trace .trace-runs tbody tr.selected{background:#00ff4112}.module-trace .trace-runs-empty{color:var(--text-dim);font-size:13px;padding:12px 0}.module-trace .trace-source{font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);border-radius:var(--radius);padding:1px 6px;color:var(--text-dim)}.module-trace .trace-gate{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);border-radius:var(--radius);padding:2px 8px}.module-trace .trace-gate-pass{color:var(--accent);border-color:var(--accent)}.module-trace .trace-gate-fail{color:var(--error);border-color:var(--error)}.module-trace .trace-report-list{list-style:none;font-size:12px}.module-trace .trace-report-list li{padding:3px 0;border-top:1px solid var(--border)}.module-trace .trace-report-fail{color:var(--error)}.module-trace .trace-report-warn{color:var(--warning)}.module-trace .trace-report-note{color:var(--text-dim);font-size:12px;line-height:1.6}.module-trace .trace-report-source{color:var(--text-dim);font-size:11px;margin-top:10px}.trace-sub{font-weight:400;opacity:.7;font-size:.8em}.trace-cmd{background:var(--bg-input);border:1px solid var(--border);padding:10px;font-family:var(--font-mono);font-size:12px;white-space:pre-wrap;overflow-x:auto}.trace-outcome{padding:8px 12px;border-left:3px solid var(--border);margin:10px 0}.trace-outcome-victory{border-left-color:var(--accent)}.trace-outcome-defeat{border-left-color:var(--error)}.trace-panel{border:1px solid var(--border);padding:12px;margin:14px 0}.trace-panel h3{margin:0 0 10px;font-size:13px;letter-spacing:.08em}.trace-grid{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;font-size:12px}.trace-grid em{opacity:.65;font-style:normal}.trace-prices{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.trace-chip{border:1px solid var(--border);padding:2px 6px;font-size:11px;opacity:.85}.trace-lanes{display:flex;flex-direction:column;gap:4px;overflow-x:auto}.trace-lane{display:flex;align-items:center;gap:10px}.trace-lane-name{min-width:160px;font-size:12px}.trace-lane-cells{display:flex;gap:2px}.trace-cell{width:22px;text-align:center;font-size:10px;padding:2px 0;border:1px solid var(--border);opacity:.9}.trace-cell-absent{opacity:.25}.trace-cell-active{background:#ff6b3538;border-color:var(--error)}.trace-cell-detected{background:#ffcc002e;border-color:var(--warning)}.trace-cell-contained{background:#00ff4129;border-color:var(--accent)}.trace-cell-neutralised{background:#00ff4114;opacity:.6}.trace-table{width:100%;border-collapse:collapse;font-size:12px}.trace-table th{text-align:left;opacity:.6;font-weight:400;padding:4px 6px}.trace-table td{padding:3px 6px;border-top:1px solid var(--border)}.trace-table tbody tr{cursor:pointer}.trace-table tbody tr:hover{background:#00ff410a}.trace-table tbody tr.selected{background:#00ff4112}.trace-table td.neg{color:var(--error)}.trace-bar-cell{width:120px}.trace-bar{height:6px;background:var(--border);width:100%}.trace-bar-fill{height:100%;background:var(--accent)}.trace-actions{opacity:.7}.trace-stage summary{cursor:pointer;font-size:12px;padding:3px 0}.trace-stage pre{font-family:var(--font-mono);font-size:11px;background:var(--bg-input);padding:8px;overflow-x:auto}.trace-log{margin-top:10px;font-size:11px;opacity:.8}.trace-divergence{font-size:12px;padding:3px 0}.trace-pin{opacity:.6}.trace-chain{border-left:3px solid var(--border);padding:6px 10px;margin:10px 0;font-size:12px}.trace-chain-complete{border-left-color:var(--accent)}.trace-chain-incomplete{border-left-color:var(--warning)}.trace-chain-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.trace-chain-head strong{text-transform:uppercase;letter-spacing:.05em}.trace-chain-badge{font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:1px 6px;border:1px solid var(--border)}.trace-chain-badge.ok{color:var(--accent);border-color:var(--accent)}.trace-chain-badge.warn{color:var(--warning);border-color:var(--warning)}.trace-chain-steps{display:flex;flex-direction:column;gap:3px}.trace-chain-step{line-height:1.5}.trace-chain-arrow{opacity:.5;margin-right:4px}.trace-chain-entity{font-weight:700}.trace-chain-verb{opacity:.75}.trace-chain-detail{opacity:.85}.trace-chain-empty{opacity:.6;font-style:italic}.trace-chain-missing{margin:6px 0 0;padding-left:16px;color:var(--warning);font-size:11px}.trace-chain-missing li{padding:1px 0}.module-trace .trace-launch{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);padding:8px 12px;margin-bottom:14px}.module-trace .trace-launch summary{cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dim)}.module-trace .trace-launch-copy{font-size:12px;line-height:1.7;color:var(--text-dim);margin:10px 0;max-width:90ch}.module-trace .trace-launch-cmd{background:var(--bg-input);border:1px solid var(--border);border-left:3px solid var(--accent-dim);border-radius:var(--radius);padding:10px 12px;font-family:var(--font-mono);font-size:12px;color:var(--accent);overflow-x:auto;white-space:pre}.module-trace .trace-launch-dormant{border-top:1px solid var(--border);padding-top:10px;margin-top:10px;font-size:12px;line-height:1.7;color:var(--text-dim);max-width:90ch}.module-trace .trace-launch-dormant strong{color:var(--warning)}.module-players{max-width:1200px}.players-note{border:1px solid var(--border);border-left:3px solid var(--accent-dim);background:#00ff4108;padding:10px 14px;margin-bottom:16px;font-size:13px;line-height:1.6}.players-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.players-toolbar .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.players-search{flex:1 1 320px;min-width:240px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:6px 10px;font-size:12px}.players-search:focus{outline:none;border-color:var(--accent-dim)}.players-summary{font-size:12px;color:var(--text-dim);margin-bottom:10px}.players-dim{color:var(--text-dim);font-size:12px;line-height:1.6}.players-empty{font-size:13px;color:var(--text-dim);line-height:1.6;max-width:70ch}.players-warn{border:1px solid var(--error);color:var(--error);padding:8px 12px;margin:10px 0;font-size:12px;line-height:1.6}.players-warn ul{margin:6px 0 0 16px}.players-warn .players-dim{color:var(--text-dim);margin-top:6px}.players-coverage{border:1px solid var(--border);padding:8px 12px;margin-bottom:14px;font-size:12px}.players-coverage summary{cursor:pointer;color:var(--text-dim)}.players-coverage ul{margin:6px 0 0 16px}.players-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono);margin-bottom:12px}.players-table th{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:400;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.players-table td{padding:6px 10px;border-bottom:1px solid #1c1c1c;vertical-align:top}.players-row{cursor:pointer}.players-row:hover{background:#00ff410a}.players-row.selected{background:#00ff4112}.players-row.purged{opacity:.6}.players-linkish{background:none;border:none;color:var(--accent);font-family:var(--font-mono);font-size:12px;padding:0;cursor:pointer}.players-unreadable{display:inline-block;margin-left:8px;color:var(--error);font-size:10px;text-transform:uppercase}.players-badge{display:inline-block;border:1px solid var(--border);padding:1px 6px;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.players-badge.pending{border-color:var(--warning);color:var(--warning)}.players-badge.purged{border-color:var(--text-dim);color:var(--text-dim)}.players-detail{border:1px solid var(--accent-dim);border-radius:var(--radius);background:var(--bg-panel);padding:14px 16px;margin-top:18px}.players-detail-title{font-size:14px;color:var(--accent);margin-bottom:10px}.players-section{margin-bottom:18px}.players-subhead{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px solid var(--border);padding-bottom:4px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:baseline}.players-status{font-size:9px;letter-spacing:.1em}.players-status-ok{color:var(--accent-dim)}.players-status-empty{color:var(--text-dim)}.players-status-error{color:var(--error);font-weight:700}.players-facts{display:grid;grid-template-columns:160px 1fr;gap:4px 12px;font-size:12px}.players-facts dt{color:var(--text-dim);font-family:var(--font-mono);font-size:11px}.players-json{background:var(--bg-input);border:1px solid var(--border);padding:10px;font-family:var(--font-mono);font-size:11px;line-height:1.5;max-height:320px;overflow:auto;white-space:pre-wrap}.players-keys{list-style:none;font-size:11px;color:var(--text-dim)}.players-keys li{padding:2px 0}.players-feedback{list-style:none;font-size:12px}.players-feedback li{border-bottom:1px solid #1c1c1c;padding:8px 0}.players-feedback p{margin-top:4px;line-height:1.6}.module-gdpr{max-width:1100px}.gdpr-rule{border:1px solid var(--warning);border-left-width:3px;background:#ffcc000d;padding:12px 14px;margin-bottom:18px;font-size:13px;line-height:1.6}.gdpr-rule strong{color:var(--warning)}.gdpr-summary{font-size:12px;color:var(--text-dim);margin-bottom:10px}.gdpr-empty{font-size:13px;color:var(--text-dim);line-height:1.6;max-width:70ch}.gdpr-warn{border:1px solid var(--error);color:var(--error);padding:8px 12px;margin:10px 0;font-size:12px}.gdpr-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}.gdpr-table th{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:400;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.gdpr-table td{padding:6px 10px;border-bottom:1px solid #1c1c1c;vertical-align:top}.gdpr-row{cursor:pointer}.gdpr-row:hover{background:#00ff410a}.gdpr-row.selected{background:#00ff4112}.gdpr-row-normal .gdpr-countdown{color:var(--text-dim)}.gdpr-row-watch .gdpr-countdown{color:var(--warning)}.gdpr-row-critical .gdpr-countdown{color:var(--error);font-weight:700}.gdpr-row-overdue{background:#ff6b351a}.gdpr-row-overdue .gdpr-countdown{color:var(--error);font-weight:700}.gdpr-row-purged{opacity:.55}.gdpr-linkish{background:none;border:none;color:var(--accent);font:inherit;padding:0;cursor:pointer;text-align:left}.gdpr-detail{margin-top:24px;border:1px solid var(--border);padding:16px;background:var(--bg-panel)}.gdpr-detail-title{font-size:14px;color:var(--accent);margin-bottom:12px}.gdpr-subhead{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:18px 0 8px}.gdpr-facts{display:grid;grid-template-columns:160px 1fr;gap:4px 12px;font-size:12px}.gdpr-facts dt{color:var(--text-dim)}.gdpr-detail-cell{max-width:46ch;white-space:normal;color:var(--text-dim)}.gdpr-fanout-done td{color:var(--text)}.gdpr-fanout-pending td{color:var(--warning)}.gdpr-fanout-failed td{color:var(--error)}.gdpr-audit{list-style:none;font-size:12px;display:flex;flex-direction:column;gap:4px}.gdpr-audit li{display:flex;gap:12px;flex-wrap:wrap}.gdpr-audit-at{color:var(--text-dim)}.gdpr-audit-action{color:var(--accent)}.gdpr-audit-key{color:var(--text-dim);font-size:11px}.gdpr-approve{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.gdpr-approve-copy{font-size:13px;max-width:70ch}.gdpr-confirm-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:8px 10px;font-size:12px;width:360px;max-width:100%}.gdpr-approve-btn:disabled{opacity:.4;cursor:not-allowed}.gdpr-nogate{font-size:13px;color:var(--text-dim);border-left:2px solid var(--border);padding-left:12px;max-width:70ch}.module-feedback{max-width:1100px}.fb-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.fb-window{font-size:12px;color:var(--text-dim);margin-bottom:10px}.fb-window strong{color:var(--warning)}.fb-warn{border:1px solid var(--error);color:var(--error);padding:8px 12px;margin:8px 0;font-size:12px}.fb-empty{font-size:13px;color:var(--text-dim);line-height:1.6;max-width:70ch}.fb-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}.fb-table th{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:400;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.fb-table td{padding:6px 10px;border-bottom:1px solid #1c1c1c;vertical-align:top}.fb-row{cursor:pointer}.fb-row:hover{background:#00ff410a}.fb-row.selected{background:#00ff4112}.fb-state-new td:nth-child(3){color:var(--accent)}.fb-state-seen td:nth-child(3){color:var(--warning)}.fb-state-closed{opacity:.6}.fb-excerpt{color:var(--text-dim);max-width:46ch;white-space:normal}.fb-kind-scenario td:nth-child(2){color:var(--accent)}.fb-scenario-filter{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim)}.fb-scenario-filter>span{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.fb-scenario-filter select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:4px 8px;font-family:var(--font-mono);font-size:11px}.fb-stars{letter-spacing:1px;color:var(--accent);white-space:nowrap}.fb-star-empty{color:var(--border)}.fb-unrated{color:var(--text-dim)}.fb-telemetry{margin-bottom:4px}.fb-telemetry dd{word-break:break-word}.fb-linkish{background:none;border:none;color:inherit;font:inherit;padding:0;cursor:pointer}.fb-legend{font-size:11px;color:var(--text-dim);margin-top:8px}.fb-detail{margin-top:22px;border:1px solid var(--border);padding:16px;background:var(--bg-panel)}.fb-detail-title{font-size:13px;color:var(--accent);margin-bottom:12px}.fb-subhead{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:16px 0 8px}.fb-facts{display:grid;grid-template-columns:120px 1fr;gap:4px 12px;font-size:12px}.fb-facts dt{color:var(--text-dim)}.fb-message{font-size:13px;line-height:1.6;white-space:pre-wrap;border-left:2px solid var(--border);padding-left:12px;max-width:80ch}.fb-triage{display:flex;flex-direction:column;gap:10px}.fb-field{display:flex;flex-direction:column;gap:4px;font-size:12px;max-width:640px}.fb-field>span{color:var(--text-dim);text-transform:uppercase;font-size:10px;letter-spacing:.08em}.fb-field textarea,.fb-field input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:8px 10px;font-family:var(--font-mono);font-size:12px}.fb-actions{display:flex;gap:6px;flex-wrap:wrap}.fb-nogate{font-size:13px;color:var(--text-dim);border-left:2px solid var(--border);padding-left:12px}.module-commerce{max-width:960px}.commerce-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px}.commerce-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;cursor:pointer;transition:all .12s}.commerce-tab:hover{color:var(--text)}.commerce-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.commerce-empty{font-size:13px;color:var(--text-dim);line-height:1.6;max-width:520px}.commerce-purchases-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.2fr);gap:24px;align-items:start}.commerce-table{width:100%;border-collapse:collapse;font-size:12px}.commerce-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);padding:6px 8px}.commerce-table td{padding:6px 8px;border-bottom:1px solid var(--border)}.commerce-row-clickable{cursor:pointer}.commerce-row-clickable:hover{background:#00ff410a}.commerce-detail{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);padding:16px}.commerce-detail-title{color:var(--accent);font-size:13px;margin-bottom:8px}.commerce-detail-packs{font-size:12px;color:var(--text-dim);margin-bottom:12px}.commerce-dark-panel{border:1px solid var(--warning);border-radius:var(--radius);background:#ffcc000d;padding:20px 24px;max-width:720px}.commerce-dark-badge{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--warning);border:1px solid var(--warning);border-radius:var(--radius);padding:3px 8px;margin-bottom:14px}.commerce-dark-title{font-size:15px;color:var(--text);margin-bottom:8px}.commerce-dark-reason{font-size:13px;color:var(--text-dim);line-height:1.6;margin-bottom:16px}.commerce-dark-note{font-size:12px;color:var(--text-dim);line-height:1.6}.commerce-sample-wrap{opacity:.85}.commerce-sample-watermark{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--warning);border:1px dashed var(--warning);border-radius:var(--radius);display:inline-block;padding:3px 10px;margin-bottom:10px}.commerce-table-sample{opacity:.9}.commerce-sample-caption{font-size:11px;color:var(--text-dim);margin-top:8px;font-style:italic}.commerce-status{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:var(--radius);border:1px solid var(--border)}.commerce-status-matched{color:var(--accent);border-color:var(--accent-dim)}.commerce-status-missing_in_rc,.commerce-status-missing_locally{color:var(--warning);border-color:var(--warning)}.commerce-status-amount_mismatch{color:var(--error);border-color:var(--error)}.module-analytics{max-width:1000px}.an-range{display:flex;gap:12px;align-items:flex-end;margin-bottom:12px;flex-wrap:wrap}.an-range label{display:flex;flex-direction:column;gap:4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.an-range input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:6px 8px;font-family:var(--font-mono);font-size:12px;color-scheme:dark}.an-note{font-size:12px;color:var(--text-dim);line-height:1.6;max-width:80ch;margin-bottom:16px}.an-note strong{color:var(--warning)}.an-note code{font-family:var(--font-mono);color:var(--accent)}.an-tiles{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.an-tile{border:1px solid var(--border);padding:10px 14px;min-width:110px;background:var(--bg-panel)}.an-tile-warn{border-color:var(--warning)}.an-tile-value{font-family:var(--font-mono);font-size:20px;color:var(--accent)}.an-tile-warn .an-tile-value{color:var(--warning)}.an-tile-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-top:4px}.an-spark{margin:8px 0 16px}.an-spark-svg{width:100%;height:90px;display:block}.an-spark-axis{stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}.an-spark-line{stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.an-spark-dot{fill:var(--accent)}.an-spark-dot.incomplete{fill:var(--warning)}.an-spark-gap{stroke:var(--error);stroke-width:2;vector-effect:non-scaling-stroke}.an-spark-caption{font-size:11px;color:var(--text-dim);margin-top:4px}.an-warn{border:1px solid var(--warning);color:var(--warning);padding:8px 12px;margin:8px 0;font-size:12px}.an-subhead{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:20px 0 8px}.an-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}.an-table th{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:400;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.an-table td{padding:6px 10px;border-bottom:1px solid #1c1c1c}.an-row-incomplete td{color:var(--warning)}.an-dim{color:var(--text-dim)}.an-types td:first-child{width:30%}.an-bar-cell{width:55%}.an-bar{display:block;height:8px;background:var(--accent-dim)}.an-count{text-align:right}.an-empty{font-size:13px;color:var(--text-dim);line-height:1.6;max-width:80ch}.an-empty code{font-family:var(--font-mono);color:var(--accent)}.an-empty-state{display:flex;flex-direction:column;gap:10px}.an-footnote{font-size:11px;color:var(--text-dim);margin-top:6px;max-width:80ch}.module-config{max-width:1000px}.cfg-section{margin-bottom:30px}.cfg-subhead{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0 0 10px}.cfg-subhead-minor{margin-top:20px}.cfg-doclist{list-style:none;display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.cfg-empty{font-size:13px;color:var(--text-dim);line-height:1.6;max-width:80ch}.cfg-empty code{font-family:var(--font-mono);color:var(--accent)}.cfg-editor{display:flex;flex-direction:column;gap:8px}.cfg-field{display:flex;flex-direction:column;gap:4px}.cfg-field>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.cfg-json{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:10px;font-family:var(--font-mono);font-size:12px;line-height:1.5;width:100%;resize:vertical}.cfg-etag{font-size:11px;color:var(--text-dim)}.cfg-etag code{font-family:var(--font-mono)}.cfg-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cfg-validation,.cfg-ok{font-size:12px;color:var(--accent)}.cfg-warn{border:1px solid var(--error);color:var(--error);padding:8px 12px;font-size:12px}.cfg-alarm{border:2px solid var(--error);background:#ff6b351a;color:var(--error);padding:10px 14px;margin-bottom:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.cfg-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}.cfg-table th{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:400;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.cfg-table td{padding:6px 10px;border-bottom:1px solid #1c1c1c}.cfg-withheld{color:var(--text-dim);font-style:italic}.cfg-notes{list-style:none;font-size:12px;color:var(--text-dim);margin:10px 0;display:flex;flex-direction:column;gap:6px}.cfg-notes .mono{color:var(--accent-dim)}.cfg-allowlist{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.cfg-allowlist .cfg-field{width:100%}.cfg-ack{display:flex;gap:8px;align-items:center;font-size:12px}.cfg-nogate{font-size:12px;color:var(--text-dim);border-left:2px solid var(--border);padding-left:10px}:root{--bg: #0d0d0d;--bg-panel: #111111;--bg-input: #161616;--border: #2a2a2a;--text: #d0d0d0;--text-dim: #666666;--accent: #00ff41;--accent-dim: #009926;--error: #ff6b35;--warning: #ffcc00;--font-mono: "JetBrains Mono", "Cascadia Code", "Fira Code", "SF Mono", ui-monospace, monospace;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--radius: 3px;--header-h: 52px;--nav-w: 200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.6}code,.mono{font-family:var(--font-mono)}a{color:var(--accent)}.boot-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px}.boot-wordmark{font-family:var(--font-mono);font-size:20px;font-weight:700;letter-spacing:.16em;color:var(--accent);text-transform:uppercase}.boot-status{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase}.boot-screen-error .boot-status{color:var(--error)}.boot-detail{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);max-width:480px}.locked-screen{height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.locked-panel{border:1px solid var(--accent-dim);border-radius:var(--radius);background:var(--bg-panel);padding:40px 44px;max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.locked-wordmark{font-family:var(--font-mono);font-size:22px;font-weight:700;letter-spacing:.16em;color:var(--accent);text-transform:uppercase}.locked-status{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--warning);text-transform:uppercase}.locked-copy{font-size:13px;color:var(--text-dim);line-height:1.6}.locked-error{font-family:var(--font-mono);font-size:11px;color:var(--error)}.btn-signin{padding:10px 28px;font-size:12px;margin-top:6px}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 18px;background:var(--bg-panel);border-bottom:1px solid var(--accent-dim);flex-shrink:0}.header-title{font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--accent);letter-spacing:.14em;text-transform:uppercase}.header-actions{display:flex;gap:14px;align-items:center}.header-user{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.header-groups{color:var(--accent-dim)}.app-body{display:flex;flex-direction:column;flex:1;overflow:hidden}.app-content{display:flex;flex:1;overflow:hidden}.app-nav{width:var(--nav-w);background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:12px 0;flex-shrink:0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:9px;background:transparent;border:none;border-left:2px solid transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-decoration:none;text-align:left;padding:10px 16px;cursor:pointer;transition:all .12s;text-transform:uppercase}.nav-item:hover{color:var(--text);background:#00ff410a}.nav-item.active{color:var(--accent);border-left-color:var(--accent);background:#00ff410f}.nav-item-icon{width:14px;flex-shrink:0;text-align:center;opacity:.85}.nav-item-title{flex:1}.nav-badge{font-size:9px;font-weight:700;letter-spacing:.06em;padding:1px 5px;border-radius:var(--radius);border:1px solid var(--border);color:var(--text-dim);flex-shrink:0}.nav-badge-dark{border-color:var(--error);color:var(--error)}.nav-badge-placeholder{border-color:var(--warning);color:var(--warning)}.module-panel{flex:1;overflow-y:auto;padding:32px 40px}.module-title{font-family:var(--font-mono);font-size:20px;font-weight:700;letter-spacing:.06em;color:var(--accent);text-transform:uppercase;margin-bottom:18px}.module-placeholder{max-width:640px}.placeholder-badge{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--warning);border:1px solid var(--warning);border-radius:var(--radius);padding:3px 8px;margin-bottom:16px}.placeholder-copy{font-size:14px;line-height:1.7;color:var(--text)}.placeholder-copy strong{color:var(--accent)}.placeholder-link{text-decoration:underline}.module-loading{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.module-error{border:1px solid var(--error);border-radius:var(--radius);background:#ff6b350f;padding:16px 18px;max-width:640px}.error-banner{font-family:var(--font-mono);font-weight:700;color:var(--error);margin-bottom:8px}.error-detail{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin-bottom:10px}.error-note{font-size:13px;color:var(--text-dim);line-height:1.6}.error-note code{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:1px 5px}.health-overall{font-size:14px;margin-bottom:14px}.health-overall strong{color:var(--accent);text-transform:uppercase}.health-components{list-style:none;display:flex;flex-direction:column;gap:6px;max-width:420px}.health-component{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:12px}.health-component-name{flex:1}.health-component-status{color:var(--text-dim);text-transform:uppercase;font-size:10px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot-ok{background:var(--accent)}.status-dot-warn{background:var(--warning)}.health-component-empty{font-size:12px;color:var(--text-dim)}.module-docs{height:100%;display:flex;flex-direction:column}.docs-note{font-size:12px;color:var(--text-dim);margin-bottom:12px;flex-shrink:0}.docs-note code{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:1px 5px;font-family:var(--font-mono)}.docs-frame{flex:1;width:100%;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.btn{background:transparent;border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;padding:6px 12px;cursor:pointer;transition:all .12s;text-transform:uppercase;border-radius:var(--radius);white-space:nowrap}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{border-color:var(--accent-dim);color:var(--accent)}.btn-primary:hover{background:var(--accent);color:#000}.btn-sm{font-size:10px;padding:4px 10px}
