/*
Theme Name: Slab Castle
Description: Slab Castle creator website with animated Milky Way, cursor tilt, Twitch player and simulated engagement globe.
Version: 1.1.0
Author: Slab Studios
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: slab-castle
*/

:root{--bg:#080a08;--panel:#11150f;--acid:#d7ff38;--ink:#f3f5eb;--muted:#bac3af;--line:#c3d99726;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 "Space Grotesk",system-ui,sans-serif}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}p{margin:0 0 20px}::selection{color:#080a08;background:var(--acid)}
:focus-visible{outline:2px solid var(--acid);outline-offset:5px}h1,h2,h3{margin:0;line-height:1.08;font-weight:700;letter-spacing:-.045em}
h2{font-size:clamp(2rem,4.5vw,3.5rem)}h3{font-size:1.55rem;letter-spacing:-.025em}
.shell{width:min(var(--max),calc(100% - 48px));margin:auto}.mono{font:500 .8125rem/1.55 "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.eyebrow{color:var(--acid);margin-bottom:20px}.muted{color:var(--muted)}.skip-link{position:fixed;top:-70px;left:16px;padding:12px 20px;background:var(--acid);color:#080a08;z-index:99}.skip-link:focus{top:14px}
.scales,.sheen{position:fixed;pointer-events:none;z-index:0;inset:0}
.scales{opacity:.26;background-image:radial-gradient(ellipse 32px 25px at 50% 100%,transparent 58%,#c9f46940 60%,#c9f46940 64%,transparent 68%),radial-gradient(ellipse 32px 25px at 0 100%,transparent 58%,#c9f46926 60%,#c9f46926 64%,transparent 68%);background-size:64px 39px;background-position:0 0,32px 19px;transform:translateZ(0)}
.sheen{inset:-25vh -20vw;background:linear-gradient(112deg,transparent 40%,#dcff7609 47%,#efffbe38 49%,#ffffff46 49.4%,transparent 52%);transform:translate3d(-8vw,-10vh,0);will-change:transform;opacity:.4}
header,main,footer{position:relative;z-index:1}.site-header{position:sticky;top:0;z-index:20;background:#080a08f7;border-bottom:1px solid var(--line)}
.nav{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:-.035em;font-size:1.1rem}.crest{display:grid;place-items:center;width:34px;height:38px;border:1px solid var(--acid);color:var(--acid);font:500 .8rem "DM Mono",monospace;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%)}
nav{display:flex;align-items:center;gap:27px;font-size:.9375rem}nav a{color:var(--muted)}nav a:hover{color:var(--acid)}.nav-cta{color:#080a08;background:var(--acid);padding:10px 18px;font-weight:700}.nav-cta:hover{color:#080a08;background:#e6ff81}.menu{display:none;border:1px solid var(--line);background:transparent;color:var(--ink);padding:7px 12px}
section{padding:90px 0;border-bottom:1px solid var(--line);scroll-margin-top:95px}.hero{padding:76px 0 54px;border:0;background:radial-gradient(ellipse at 75% 20%,#d7ff380c,transparent 65%)}
.hero-grid{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:70px}.hero h1{font-size:clamp(3.8rem,7.3vw,6.5rem);line-height:1.04;letter-spacing:-.055em}.hero h1 em{font-style:normal;color:var(--acid);text-shadow:0 2px #5c700d}.hero-copy{margin:26px 0 30px;font-size:1.125rem;max-width:610px;color:#ccd4c2}.actions{display:flex;flex-wrap:wrap;gap:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;min-height:48px;border:1px solid var(--acid);background:var(--acid);color:#080a08;font-size:.9375rem;font-weight:700;transition:background-color .15s,transform .15s}.button:hover{background:#e7ff8b;transform:translateY(-2px)}.button.ghost{background:#11160e;color:var(--ink);border-color:#c5d6aa45}.button.ghost:hover{border-color:var(--acid)}
.field-card{border-top:3px solid var(--acid);padding:25px;background:#11160eed}.field-card h2{font-size:1.6rem;line-height:1.18;margin:22px 0 16px;letter-spacing:-.03em}.field-card p{color:var(--muted)}.field-card .mono{font-size:.75rem;color:var(--acid)}.field-links{border-top:1px solid var(--line);display:grid;margin-top:26px}.field-links a{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.field-links a:hover{color:var(--acid)}
.hero-index{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);margin-top:50px;padding-top:20px;color:var(--muted)}
.section-head,.pulse-top{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:32px}.section-head>p{color:var(--muted);max-width:390px;margin-bottom:0}.section-head .eyebrow{margin-bottom:12px}
.live{padding-top:35px;--broadcast-color:#bdc7bb}.stream-frame{border:2px solid var(--broadcast-color);background:#0b0f0a;display:grid;grid-template-columns:minmax(0,1fr) 300px;border-radius:5px;overflow:hidden}
#live[data-broadcast="live"]{--broadcast-color:#4ade80}#live[data-broadcast="offline"]{--broadcast-color:#ff6776}
.broadcast-status{display:inline-flex;align-items:center;gap:10px;color:var(--broadcast-color);font-size:.875rem;letter-spacing:.03em;font-weight:700}
.broadcast-status i{width:9px;height:9px;background:currentColor;border-radius:50%;flex-shrink:0}
.stream-video{aspect-ratio:16/9;min-height:360px;background:#060706}.stream-side{padding:26px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:24px}.stream-side h3{font-size:1.7rem;margin:16px 0}.stream-side p:not(.mono){color:var(--muted)}.stream-side .actions{display:grid}.stream-side .mono{color:var(--acid)}
#slab-twitch-player,#slab-twitch-player iframe{display:block;border:0;width:100%;height:100%;min-height:360px}
.broadcast-message{margin:0;padding:25px;color:var(--muted)}.broadcast-retry{padding:10px;border:1px solid var(--line);color:var(--ink);background:#151d10}.broadcast-retry[hidden]{display:none}.broadcast-foot{display:flex;justify-content:space-between;gap:20px;padding:17px 0;color:var(--muted);font-size:.875rem}.broadcast-foot a{text-decoration:underline;text-underline-offset:4px}
.pulse-section{background:#090d08f5}.pulse-controls{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.demo{font:500 .75rem/1.5 "DM Mono",monospace;color:#d6dfca;padding:7px 12px;border:1px solid #a2b68a35;background:#1b2414}.demo .status{display:none}
.stage{position:relative;height:620px;border:1px solid var(--line);background:#040805;isolation:isolate;contain:layout paint;overflow:hidden;border-radius:5px 5px 0 0}
#pulseCanvas{position:absolute;inset:0;width:100%;height:100%;transform:translateZ(0);pointer-events:none}.scope{position:absolute;inset:24px;pointer-events:none}.scope-top{display:flex;justify-content:space-between;gap:15px;color:#c9d8bf;font-size:.8125rem}
.scope-center{position:absolute;top:57px;left:0;padding:13px 17px;background:#0a130ce8;border-left:2px solid var(--acid)}.scope-center b{display:block;font-size:2.25rem;line-height:1.2;color:var(--acid);font-variant-numeric:tabular-nums}.scope-center span{font-size:.75rem;color:var(--muted)}
.scope-bottom{position:absolute;bottom:0;left:0;right:0;font-size:.8125rem;color:var(--muted)}.scope-bottom span{display:block}#eventLine{min-height:44px;margin-top:8px;color:#ebf3e2}#fps{font-variant-numeric:tabular-nums}
.comet-legend{display:flex;flex-wrap:wrap;gap:12px 22px;padding:18px 22px;background:#0d140c;border:1px solid var(--line);border-top:0;font-size:.875rem}.comet-legend span{display:flex;gap:8px;align-items:center}.comet-legend i{width:8px;height:8px;border-radius:50%}
.platforms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}.platform{padding:22px;background:linear-gradient(140deg,#162010,#0c110a);border:1px solid var(--line);border-radius:5px}.platform-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:20px}.platform-name{font-weight:700}.platform-name i{display:inline-block;width:7px;height:7px;background:var(--pc);border-radius:50%;margin-right:8px}.delta{font:500 .75rem "DM Mono",monospace;color:#aebda0}.big{font-size:2.25rem;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums}.label{font-size:.8125rem;color:var(--muted)}.mini{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.mini b{display:block;font-variant-numeric:tabular-nums}.mini span{font-size:.875rem;color:var(--muted)}.note{margin:20px 0 0;font-size:.8125rem;line-height:1.65;letter-spacing:.025em;color:var(--muted)}
.studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.studio-card{border:1px solid var(--line);padding:28px;background:#0e140bec;display:flex;flex-direction:column;align-items:start}.studio-card .card-tag{color:var(--acid);margin-bottom:40px}.studio-card h3{margin-bottom:17px}.studio-card p{color:var(--muted)}.studio-card a{margin-top:auto;padding-top:24px;color:var(--acid);font-size:.9375rem}
.rig{background:#0e130cf2}.rig-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.rig-copy h2{margin:15px 0 22px}.rig-copy p{color:var(--muted)}.rig-copy .rig-mark{display:inline-block;margin-top:25px;font-size:clamp(3rem,6vw,5rem);line-height:1;font-weight:700;letter-spacing:-.06em;color:var(--acid)}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.spec{padding:20px;background:#151e10;border:1px solid var(--line);border-radius:4px}.spec .mono{font-size:.75rem;color:#b9caa7}.spec strong{display:block;font-size:1.125rem;line-height:1.4;margin-top:10px}.spec small{display:block;color:var(--muted);font-size:.875rem;margin-top:8px}
.software{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.software span{border:1px solid var(--line);padding:8px 13px;font-size:.875rem}.software .mono{padding-left:0;border:0;color:var(--muted)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.about-grid blockquote{margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;letter-spacing:-.035em}.about-grid blockquote em{color:var(--acid);font-style:normal}.about-grid p{color:var(--muted)}.about-grid .mono{color:var(--acid)}.values{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.values span{padding:7px 13px;background:#1b2512;color:#e4efda;font-size:.875rem}
.contact{background:var(--acid);color:#101609;padding:65px 0}.contact-wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact .eyebrow{color:#354613}.contact h2{max-width:760px}.contact .button{background:#101609;border-color:#101609;color:var(--acid);flex-shrink:0}.contact .button:hover{background:#273811}
footer{background:#080a08;padding:34px 0;color:var(--muted);font-size:.875rem}.footer-row{display:flex;justify-content:space-between;gap:22px}.footer-row a:hover{color:var(--acid)}details{margin-top:25px;border-top:1px solid var(--line);padding-top:18px}summary{cursor:pointer;display:list-item}details p{max-width:860px;padding-top:18px;font-size:.875rem}details a{text-decoration:underline}
@media(max-width:1000px){.hero-grid{gap:35px;grid-template-columns:1.2fr .8fr}.hero h1{font-size:clamp(3.4rem,7.6vw,5.5rem)}.stream-frame{grid-template-columns:1fr}.stream-side{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.platforms{grid-template-columns:1fr 1fr}.rig-grid{gap:30px}nav{gap:16px}.studio-grid{gap:12px}.studio-card{padding:22px}}
@media(max-width:760px){.shell{width:calc(100% - 32px)}section{padding:65px 0}.nav{height:70px}nav{display:none}.menu{display:block}.nav.open nav{display:flex;position:absolute;top:70px;left:0;right:0;background:#0b1008;border-bottom:1px solid var(--line);padding:20px;align-items:stretch;flex-direction:column}.hero{padding:50px 0 35px}.hero-grid,.rig-grid,.about-grid,.studio-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(3.1rem,10vw,4.5rem)}.field-card{margin-top:5px}.hero-index{margin-top:28px;align-items:start}.hero-index span:last-child{text-align:right}.hero-copy{font-size:1rem}.section-head,.pulse-top{display:block}.section-head>p,.broadcast-status{margin-top:20px}.stream-side{display:flex}.stream-video,#slab-twitch-player,#slab-twitch-player iframe{min-height:300px}.broadcast-foot{flex-wrap:wrap}.pulse-controls{align-items:flex-start;margin:20px 0 0;flex-direction:row;flex-wrap:wrap;align-items:center}.stage{height:610px}.scope{inset:16px}.scope-top{font-size:.75rem}.scope-center{top:56px;padding:9px 12px}.scope-center b{font-size:1.8rem}.scope-bottom{font-size:.75rem}.platforms{gap:10px}.platform{padding:16px}.mini{grid-template-columns:1fr}.platform-head{flex-wrap:wrap}.comet-legend{font-size:.8125rem;gap:12px 16px;padding:16px}.about-grid{gap:30px}.contact-wrap{display:block}.contact .button{margin-top:25px}.footer-row{flex-wrap:wrap}.specs{gap:10px}.spec{padding:15px}.spec strong{font-size:1rem}}
@media(max-width:370px){.platforms,.specs{grid-template-columns:1fr}.hero h1{font-size:2.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sheen{display:none}.button{transition:none}}

.render-tools{position:absolute;top:64px;right:24px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:65%;font:500 13px/1.5 "DM Mono",monospace}
.render-tools label,.render-tools button{background:#111b10ef;border:1px solid #c5d6aa45;color:#edf5e3;padding:8px 10px;border-radius:3px}
.render-tools select{font:inherit;color:var(--acid);background:#111b10;border:0;max-width:175px;padding:4px}
.render-tools button{font:inherit;min-height:42px}.render-tools button:hover{border-color:var(--acid)}.render-tools button:disabled{opacity:.6;cursor:default}
.render-readout{position:absolute;bottom:18px;right:24px;max-width:52%;text-align:right;font:12px/1.6 "DM Mono",monospace;color:#bccbb0;pointer-events:none}
#pulseResult{display:block;max-width:460px;margin-top:6px;color:#e6f4d5}.stage:fullscreen{width:100vw;height:100vh;border:0;border-radius:0}
.scope-bottom{right:54%}#fps{text-align:right;max-width:60%}
@media(max-width:760px){.scope-center{max-width:40%}.render-tools{top:64px;right:12px;max-width:56%;gap:5px}.render-tools label,.render-tools button{font-size:12px;padding:5px 7px}.render-tools select{max-width:139px;font-size:12px}.render-readout{bottom:14px;right:12px;max-width:48%;font-size:12px}.scope-bottom{right:51%}}

body.admin-bar .site-header{top:32px}
.wp-content{min-height:60vh;padding:60px 0}.wp-content article{margin-bottom:45px}.wp-content h1{font-size:clamp(2rem,5vw,4rem);margin-bottom:24px}.wp-content h2,.wp-content h3{margin:24px 0 14px}.wp-content a{text-decoration:underline}.wp-content img{max-width:100%;height:auto}.wp-content ul,.wp-content ol{padding-left:24px}.wp-content input,.wp-content textarea{max-width:100%}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:600px){body.admin-bar .site-header{top:0}}
.legal-links{display:flex!important;position:static!important;flex-direction:row;flex-wrap:wrap;gap:16px 24px;margin-top:22px;padding:16px 0 0;border-top:1px solid var(--line);font-size:14px;background:transparent}
.legal-links a{text-decoration:underline;text-underline-offset:4px}
.legal-copy{max-width:900px}.legal-copy h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.25;letter-spacing:-.02em}.legal-copy p{line-height:1.8}
