.wcrs{
  --wcrs-gutter: 3.2em;
  --wcrs-num-color: #9ca3af;
  --wcrs-bg: #ffffff;
  --wcrs-code-bg: #ffffff;
  --wcrs-border: #e5e7eb;
  --wcrs-radius: 12px;
  --wcrs-shadow: 0 1px 0 rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.06);
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Noto Sans","Helvetica Neue","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  border:1px solid var(--wcrs-border); border-radius:var(--wcrs-radius); background:var(--wcrs-bg); margin:1rem 0; overflow:hidden; position:relative;
}
.wcrs-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f9fafb;border-bottom:1px solid var(--wcrs-border);gap:.5rem;flex-wrap:wrap;}
.wcrs-left{display:flex;gap:.5rem;align-items:center;}
.wcrs-badge{font-size:.75rem;line-height:1;padding:.25rem .5rem;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:600;}
.wcrs-title{font-weight:700;color:#111827;}
.wcrs-right{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;}
.wcrs-btn{border:1px solid var(--wcrs-border);border-radius:8px;padding:.35rem .6rem;cursor:pointer;font-size:.85rem;}
.wcrs-btn:hover{background:#ff0000;}
.wcrs-line-indicator{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; font-size:.8rem; background:#eef2ff; color:#1e293b; border:1px solid var(--wcrs-border); padding:.15rem .4rem; border-radius:6px;}
.wcrs-codes{padding:0.75rem;}
.wcrs-block{margin:0 0 1rem 0;}
.wcrs-block:last-child{margin-bottom:0;}
.wcrs-filename{font-size:1.35rem; line-height:1.6rem; font-weight:800; color:#111827; margin:.25rem 0 .5rem;}
.wcrs-card{background:var(--wcrs-code-bg); border:1px solid var(--wcrs-border); border-radius:12px; box-shadow: var(--wcrs-shadow); overflow:hidden;}

/* Code wrap with separate gutter */
.wcrs-codewrap{display:flex; align-items:stretch; max-height:520px;}
.wcrs-gutter{flex:0 0 var(--wcrs-gutter); background:transparent; border-right:1px solid var(--wcrs-border); color:var(--wcrs-num-color); font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; font-size:12.5px; line-height: var(--lh, 20px); overflow:hidden;}
.wcrs-nums{padding:.75rem .4rem .75rem .6rem;}
.wcrs-nums span{display:block; height:var(--lh, 20px); line-height:var(--lh, 20px); text-align:right; user-select:none; cursor:pointer;}
.wcrs-nums span:hover{color:#475569;}
.wcrs-codebox{position:relative; flex:1 1 auto; min-width:0;}
.wcrs-pre{position:relative; margin:0; padding:.75rem 1rem; overflow:auto; height:100%; background:var(--wcrs-code-bg); color:#111827;}
.wcrs-pre.no-wrap code{white-space:pre;}

/* Hover line sits inside codebox so it won't cover gutter */
.wcrs-hoverline{position:absolute; left:0; right:0; background:rgba(2,132,199,.08); border-left:3px solid rgba(2,132,199,.6); pointer-events:none; display:none;}

/* Tabs */
.wcrs-tabs{display:flex;gap:.25rem;margin-right:.25rem;}
.wcrs-tab{border:1px solid var(--wcrs-border);border-radius:6px;padding:.3rem .5rem;cursor:pointer;font-size:.8rem;}
.wcrs-tab.active,.wcrs-tab:hover{background:#000;}

/* Preview */
.wcrs-preview{border-top:1px solid var(--wcrs-border);background:#fff;}
.wcrs-preview iframe{width:100%;display:block;border:0;}

/* Toast */
.wcrs-toast{position:absolute; top:8px; right:8px; background:#111827; color:#f9fafb; padding:.35rem .6rem; border-radius:6px; opacity:0; transform:translateY(-6px); transition:opacity .2s, transform .2s; pointer-events:none; z-index:10;}
.wcrs-toast.show{opacity:1; transform:translateY(0);}

/* Dark theme */
.wcrs.wcrs-theme-dark{ --wcrs-bg:#0b0b0c; --wcrs-code-bg:#0b0b0c; --wcrs-border:#1f2937; --wcrs-num-color:#9aa0a6; }
.wcrs.wcrs-theme-dark .wcrs-toolbar{background:#111827;border-bottom-color:#1f2937;}
.wcrs.wcrs-theme-dark .wcrs-badge{background:#1f2937;color:#e5e7eb;}
.wcrs.wcrs-theme-dark .wcrs-title{color:#e5e7eb;}
.wcrs.wcrs-theme-dark .wcrs-btn{background:#111827;color:#e5e7eb;border-color:#1f2937;}
.wcrs.wcrs-theme-dark .wcrs-btn:hover{background:#1f2430;}
.wcrs.wcrs-theme-dark .wcrs-filename{color:#e5e7eb;}
.wcrs.wcrs-theme-dark .wcrs-pre{color:#e5e7eb;}
.wcrs.wcrs-theme-dark .wcrs-hoverline{background:rgba(59,130,246,.15); border-left-color:#60a5fa;}