
*{box-sizing:border-box;margin:0}
body{background:#0d0d0d;color:#e6e9ef;font-family:'Courier New', Courier, monospace;font-size:14px;line-height:1.7}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.ide{display:flex;min-height:100vh;max-width:1400px;margin:0 auto}
.activity{width:52px;flex:0 0 52px;background:#0d0d0d;color:#dfe4ea;display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:6px}
.alogo{width:34px;height:34px;border-radius:9px;background:#0044ff;color:#ffffff;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:12px}
.activity a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;color:rgba(223,228,234,0.6);cursor:pointer;border-left:2px solid transparent}
.activity a:hover,.activity a.on{color:#dfe4ea;border-left-color:#0044ff}
.abottom{margin-top:auto}
.explorer{width:230px;flex:0 0 230px;background:#1f1f1f;border-right:1px solid rgba(230,233,239,0.12);padding:10px 0;overflow:hidden}
.exhead{padding:8px 16px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(230,233,239,0.5)}
.exhead.git{margin-top:14px;border-top:1px solid rgba(230,233,239,0.12);padding-top:14px}
.exproj{padding:4px 16px;font-weight:700;font-size:13px}
.tree{display:flex;flex-direction:column}
.fnode{padding:5px 16px 5px 26px;font-size:13px;color:#e6e9ef;display:flex;align-items:center;gap:8px}
.fnode:hover{background:rgba(230,233,239,0.06)}
.fdot{color:#0044ff}
.gitline{padding:3px 16px 3px 26px;font-size:12.5px;color:rgba(230,233,239,0.5);display:flex;gap:8px}
.gm{color:#0036cc;font-weight:700}.ga{color:#003de6;font-weight:700}
.editorwrap{flex:1;min-width:0;display:flex;flex-direction:column;background:#181818}
.tabbar{display:flex;overflow-x:auto;background:#1f1f1f;border-bottom:1px solid rgba(230,233,239,0.12)}
.tab{padding:9px 16px;font-size:13px;color:rgba(230,233,239,0.5);border-right:1px solid rgba(230,233,239,0.12);white-space:nowrap;border-top:2px solid transparent}
.tab:hover{color:#e6e9ef}
.tab.on{background:#181818;color:#e6e9ef;border-top-color:#0044ff}
.editor{flex:1;overflow:auto}
.src{display:flex;border-bottom:1px solid rgba(230,233,239,0.12);padding:14px 0}
.gutter{flex:0 0 52px;text-align:right;padding-right:14px;color:rgba(230,233,239,0.5);user-select:none;font-size:13px}
.gutter span{display:block;line-height:1.7}
.code{flex:1;min-width:0;padding-right:24px}
.cl{white-space:pre-wrap;word-break:break-word}
.cl.in{padding-left:24px}
.com{color:rgba(230,233,239,0.42);font-style:italic}
.kw{color:#0044ff;font-weight:700}
.fn{color:#0036cc}
.str{color:#003de6}
.pk{color:#0036cc}
.src h1{display:none}
.ibtn{display:inline-block;background:#0044ff;color:#ffffff;padding:8px 18px;border-radius:0px;font-weight:700;font-size:13px;margin:6px 6px 0 0}
.ibtn.ghost{background:transparent;border:1px solid #0044ff;color:#0044ff}
.ibtn:hover{filter:brightness(1.1)}
.igrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0}
.ishot{margin:0;border:1px solid rgba(230,233,239,0.12);border-radius:0px;overflow:hidden}
.ishot img{width:100%;height:120px;object-fit:cover}
.ishot figcaption{padding:5px 10px;font-size:11px;color:#0044ff;background:#1f1f1f}
.status{display:flex;align-items:center;gap:16px;background:#0044ff;color:#ffffff;font-size:12px;font-weight:600;padding:5px 14px;flex-wrap:wrap}
.status .spush,.status .ok{margin-left:0}
.status .ok{margin-left:auto}
@media(max-width:820px){.explorer{display:none}}
@media(max-width:560px){.igrid{grid-template-columns:1fr 1fr}.activity{width:44px;flex-basis:44px}}


.xq{box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;color:#0d0d0d;padding:56px 24px;width:100%}
.xq *{box-sizing:border-box;margin:0}
.xq .xq-wrap{max-width:1060px;margin:0 auto}
.xq h2{font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:1.7rem;line-height:1.2;margin-bottom:8px}
.xq .xq-kick{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#0044ff;margin-bottom:10px;font-weight:700}

.xq-checklist{list-style:none;padding:0;margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 26px}
.xq-checklist li{position:relative;padding:10px 0 10px 32px;border-bottom:1px dashed rgba(13,13,13,0.14)}
.xq-checklist li::before{content:"\2713";position:absolute;left:0;top:8px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:#0044ff;color:#ffffff;font-size:.75rem;font-weight:800}


.xq-steplist{counter-reset:xqs;list-style:none;padding:0;margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.xq-step{counter-increment:xqs;position:relative;padding:18px 18px 18px 20px;border-left:3px solid #0044ff;background:rgba(13,13,13,0.05);border-radius:0 0px 0px 0}
.xq-step::before{content:"0" counter(xqs);display:block;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:.8rem;letter-spacing:.1em;color:#0044ff;font-weight:800;margin-bottom:8px}
.xq-step h3{font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:1.02rem;margin-bottom:6px}
.xq-step p{font-size:.9rem;color:#767676}


/* =====================================================
   DESIGN DNA: giant-ghost
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::before{content:'casting';position:fixed;left:50%;top:42%;transform:translate(calc(-50% + var(--gpx,0px)),calc(-50% + var(--gpy,0px))) rotate(0deg);z-index:99980;pointer-events:none;font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-weight:900;font-size:26vw;letter-spacing:.04em;white-space:nowrap;color:#0d0d0d;opacity:.06;text-transform:uppercase}
img,a[class*="btn"],button,span[class*="btn"],div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{box-shadow:none !important}
h1,h2,h3{letter-spacing:-0.03em !important;font-weight:800 !important}
img{border-radius:0 !important;filter:grayscale(.25) contrast(1.04)}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;border:1.5px solid currentColor !important;background:transparent !important;color:inherit !important;text-transform:uppercase;letter-spacing:.24em;font-size:.78em}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border:none !important;border-top:2px solid #0d0d0d !important;border-radius:0 !important}
