:root{
--color-surface-primary:#080C08;
--color-surface-secondary:#141F14;
--color-accent-phosphor:#55EF7C;
--color-text-primary:#FFFFFF;
--color-text-accent:#55EF7C;
--color-border-accent:#55EF7C;
--color-border-subtle:rgba(85,239,124,0.16);
--color-overlay-green:rgba(85,239,124,0.14);

--font-heading:'JetBrains Mono','Fira Mono','Consolas',monospace;
--font-body:'Inter','Segoe UI',Arial,sans-serif;

--fs-1:2.25rem;
--fs-2:1.5rem;
--fs-3:1.125rem;
--fs-4:1rem;
--fs-5:0.875rem;
--fs-6:0.75rem;

--lh-heading:1.2;
--lh-body:1.5;

--space-1:0.25rem;
--space-2:0.5rem;
--space-3:1rem;
--space-4:1.5rem;
--space-5:2rem;
--space-6:3rem;

--radius-sm:6px;
--radius-lg:12px;

--container-max:1200px;
--container-pad:1.5rem;

--border-thin:1px solid var(--color-border-subtle);
--border-accent:2px solid var(--color-border-accent);

--focus-ring:2px solid var(--color-accent-phosphor);
}

*,
*::before,
*::after{
box-sizing:border-box;
margin:0;
padding:0;
}

html,body{
height:100%;
}

body{
background:var(--color-surface-primary);
color:var(--color-text-primary);
font-family:var(--font-body);
font-size:var(--fs-4);
line-height:var(--lh-body);
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}

img,video{
max-width:100%;
height:auto;
display:block;
}

img{
object-fit:cover;
}

a{
color:inherit;
text-decoration:none;
}

button,
input,
select,
textarea{
font:inherit;
color:inherit;
background:none;
border:none;
}

button{
cursor:pointer;
}

:focus-visible{
outline:var(--focus-ring);
outline-offset:2px;
}

h1,h2,h3,h4,h5,h6{
font-family:var(--font-heading);
line-height:var(--lh-heading);
font-weight:500;
}

h1{font-size:var(--fs-1);margin-bottom:var(--space-4);}
h2{font-size:var(--fs-2);margin-bottom:var(--space-3);}
h3{font-size:var(--fs-3);margin-bottom:var(--space-3);}
h4{font-size:var(--fs-4);margin-bottom:var(--space-2);}
h5{font-size:var(--fs-5);margin-bottom:var(--space-2);}
h6{font-size:var(--fs-6);margin-bottom:var(--space-2);}

p{
margin-bottom:var(--space-3);
}

ul,ol{
margin-bottom:var(--space-3);
padding-left:1.2em;
}

li{
margin-bottom:var(--space-2);
}

blockquote{
margin-bottom:var(--space-3);
padding-left:var(--space-3);
border-left:var(--border-accent);
}

hr{
border:none;
border-top:var(--border-thin);
margin:var(--space-5) 0;
}

label{
display:block;
font-family:var(--font-heading);
font-size:var(--fs-6);
letter-spacing:0.08em;
text-transform:uppercase;
margin-bottom:var(--space-1);
}

input,textarea,select{
width:100%;
min-height:44px;
padding:var(--space-2) var(--space-3);
background:var(--color-surface-secondary);
border:var(--border-thin);
border-radius:var(--radius-sm);
}

input:focus,
textarea:focus,
select:focus{
border:var(--border-accent);
}

.container{
width:100%;
max-width:var(--container-max);
margin-left:auto;
margin-right:auto;
padding-left:var(--container-pad);
padding-right:var(--container-pad);
}

.section{
padding-top:var(--space-6);
padding-bottom:var(--space-6);
}

.panel{
background:var(--color-surface-secondary);
border:var(--border-thin);
border-radius:var(--radius-lg);
padding:var(--space-4);
position:relative;
}

.panel[data-active="true"]{
border:var(--border-accent);
}

.card{
background:var(--color-surface-secondary);
border:var(--border-thin);
border-radius:var(--radius-sm);
padding:var(--space-4);
display:flex;
flex-direction:column;
}

.stack > * + *{
margin-top:var(--space-3);
}

.cluster{
display:flex;
flex-wrap:wrap;
gap:var(--space-3);
align-items:center;
}

.grid{
display:grid;
gap:var(--space-3);
}

.grid-2{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.grid-3{
grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:960px){
.section{
padding-top:var(--space-5);
padding-bottom:var(--space-5);
}
}

@media (max-width:700px){
.grid-2,
.grid-3{
grid-template-columns:1fr;
}
}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:0 var(--space-4);
font-family:var(--font-heading);
font-size:var(--fs-6);
letter-spacing:0.08em;
text-transform:uppercase;
border-radius:var(--radius-sm);
border:var(--border-accent);
color:var(--color-text-accent);
background:transparent;
}

.button:hover{
color:var(--color-accent-phosphor);
}

.button:active{
background:rgba(85,239,124,0.08);
}

.aspect{
position:relative;
width:100%;
overflow:hidden;
border-radius:var(--radius-sm);
border:var(--border-thin);
}

.aspect > img,
.aspect > video{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
}

.aspect-16x9{
aspect-ratio:16/9;
}

.aspect-4x3{
aspect-ratio:4/3;
}

.aspect-1x1{
aspect-ratio:1/1;
}

.row{
display:flex;
gap:var(--space-2);
align-items:center;
overflow-x:auto;
}

.row > *{
flex:0 0 auto;
}

.status-dot{
width:8px;
height:8px;
border-radius:50%;
background:var(--color-accent-phosphor);
flex-shrink:0;
}

.code-label{
font-family:var(--font-heading);
font-size:var(--fs-6);
letter-spacing:0.08em;
text-transform:uppercase;
color:var(--color-text-accent);
}

.wrap{
word-break:break-word;
overflow-wrap:anywhere;
}

.card > *:last-child,
.panel > *:last-child{
margin-bottom:0;
}

.btn,
.btn-outline {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  text-align: center;
  line-height: 1.35;
}


p,
a,
li,
h1,
h2,
h3,
h4,
h5,
h6,
span {
  overflow-wrap: anywhere;
  word-break: normal;
}