:root{
    --ra-accent:#61e8ff;
    --ra-bg:#0f172a;
    --ra-fg:#e2e8f0;
    --ra-radius:18px;
    --ra-shadow:0 12px 32px rgba(2,8,23,.35);
    --ra-muted: #94a3b8;
    --ra-border: rgba(148,163,184,.2);
    --ra-warn-bg: rgba(255, 99, 71, .08);
    --ra-warn-border: rgba(255, 99, 71, .4);
    --ra-warn-text: #ffb3a7;
}
.ra-wrap{ color:var(--ra-fg); font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; }
.ra-grid{ display:grid; gap:24px; }
@media(min-width:820px){ .ra-grid{ grid-template-columns:1fr 1fr; } }

.ra-card{
    background:var(--ra-bg);
    border:1px solid var(--ra-border);
    border-radius:var(--ra-radius);
    box-shadow:var(--ra-shadow);
    padding:20px;
}
.ra-card-head h3{ margin:0 0 4px; font-size:22px; letter-spacing:.2px; color:var(--ra-fg); }
.ra-sub{ margin:0 0 12px; color:var(--ra-muted); font-size:14px; }

.ra-form{ display:flex; flex-direction:column; gap:12px; margin:8px 0 12px; }
.ra-grid-2{ display:grid; gap:12px; grid-template-columns:1fr; }
@media(min-width:520px){ .ra-grid-2{ grid-template-columns:1fr 1fr; } }

.ra-input{
    width:100%;
    padding:12px 14px;
    border-radius:12px;
    border:1px solid var(--ra-border);
    background:rgba(255,255,255,.02);
    color:var(--ra-fg);
    outline:none;
    transition:border-color .2s, box-shadow .2s, background .2s;
    -moz-appearance: textfield;
}
.ra-input::-webkit-outer-spin-button,
.ra-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.ra-input::placeholder{ color: color-mix(in oklab, var(--ra-fg) 65%, transparent); }
.ra-input:focus{ border-color:var(--ra-accent); box-shadow:0 0 0 4px color-mix(in oklab, var(--ra-accent) 25%, transparent); background:rgba(255,255,255,.04); }

label{ font-size:13px; color:var(--ra-muted); display:block; margin-bottom:6px; }
.unit{ opacity:.8; font-variant: all-small-caps; letter-spacing:.4px; }

.ra-actions{ display:flex; gap:10px; }
.align-end{ align-items:end; justify-content:flex-end; }

.ra-btn{
    appearance:none;
    border:none;
    cursor:pointer;
    border-radius:999px;
    padding:10px 16px;
    background:linear-gradient(180deg, color-mix(in oklab, var(--ra-accent) 92%, #fff 0%), color-mix(in oklab, var(--ra-accent) 85%, #000 12%));
    color:#05131e;
    font-weight:700;
    letter-spacing:.2px;
    transition: transform .06s ease, filter .2s ease, opacity .2s;
}
.ra-btn:hover{ filter:brightness(1.05); }
.ra-btn:active{ transform: translateY(1px); }
.ra-btn.ghost{
    background:transparent;
    color:var(--ra-fg);
    border:1px solid var(--ra-border);
}

.ra-result{
    display:flex; flex-direction:column; gap:10px;
    background:rgba(255,255,255,.03);
    border:1px dashed var(--ra-border);
    padding:14px; border-radius:14px;
}
.ra-row{ display:flex; align-items:baseline; justify-content:space-between; font-size:16px; }
.ra-row strong{ font-size:22px; }

.ra-note{ margin-top:10px; font-size:12px; color:var(--ra-muted); }

.ra-warning{
    margin-top:10px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--ra-warn-border);
    background: var(--ra-warn-bg);
    color: var(--ra-warn-text);
    font-size:13px;
}
.is-hidden{ display:none; }
