.crystal{--ink:#f2eee5;--muted:#b7c7c1;--edge:#344743;--teal:#8bd5cb;--warm:#ffac72;color:var(--ink)}
.crystal .eyebrow,.crystal-kicker{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--teal)}
.crystal-nav{display:flex;gap:24px;flex-wrap:wrap;padding:24px 0;border-bottom:1px solid var(--edge);font-size:13px}.crystal-nav a[aria-current]{color:var(--warm)}
.crystal-hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:20px;align-items:center;padding:75px 0 55px}.crystal h1{font-size:clamp(44px,5.6vw,80px);font-weight:400;letter-spacing:-.055em;line-height:1.04;margin:24px 0}.crystal h1 em{color:var(--warm);font-weight:400}.crystal-lead{font-size:20px;line-height:1.6;max-width:630px}.crystal p{color:var(--muted);line-height:1.7}.crystal h2{font-size:clamp(29px,3vw,43px);font-weight:400;letter-spacing:-.035em;line-height:1.15}.crystal h3{font-size:22px;font-weight:500;line-height:1.25}.crystal-section{padding:65px 0;border-top:1px solid var(--edge)}.crystal-section>p{max-width:850px}.crystal-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.crystal-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.crystal-card{padding:30px;border:1px solid var(--edge);border-radius:6px;background:#14201f}.crystal-card .number{font-family:monospace;color:var(--warm)}.crystal-card a{color:var(--teal)}.crystal-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:30px 0 50px}.crystal-numbers strong{display:block;font-weight:400;font-size:38px;color:var(--warm)}.crystal-numbers span{font-size:14px;color:var(--muted)}
.crystal-scene svg{width:100%;height:auto;display:block}.crystal-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.crystal label{display:block;font-size:13px;color:var(--muted)}.crystal input:not([type=file]),.crystal select{accent-color:var(--warm);min-height:44px;width:100%;background:#152523;color:var(--ink);border:1px solid #557269;border-radius:3px;padding:7px}.crystal input[type=range]{padding:0;border:0}.crystal input[type=file]{max-width:100%;font-size:13px;margin:12px 0}.crystal button,.crystal .crystal-btn{min-height:44px;border:1px solid #638e84;background:#182b27;color:var(--ink);border-radius:4px;padding:10px 16px;cursor:pointer;font:inherit;display:inline-flex;align-items:center;text-decoration:none}.crystal button[aria-pressed=true]{background:var(--warm);color:#14201f;border-color:var(--warm)}.crystal button:disabled{opacity:.45;cursor:not-allowed}.crystal :focus-visible{outline:3px solid var(--teal);outline-offset:4px}.crystal .crystal-note{font-size:13px;line-height:1.6;color:var(--muted)}.crystal .crystal-warning{padding:15px 20px;background:#292722;border-left:3px solid var(--warm);font-size:14px}.crystal-status{padding:14px 0;font-size:13px;min-height:45px;color:var(--teal)}.crystal-status.error{color:#ffb0a0}.crystal figure{margin:0}.crystal figcaption{font-size:12px;color:var(--muted);line-height:1.6;padding:14px 0}.crystal-figure{width:100%;height:auto;border-radius:5px}.crystal-mapframe{background:#fff;max-width:510px;padding:20px;border-radius:5px}.crystal-mapframe img{width:100%;height:auto;display:block}.crystal details{margin:25px 0;border:1px solid var(--edge);padding:20px}.crystal summary{cursor:pointer;color:var(--teal)}.crystal video{width:100%;height:auto;border:1px solid var(--edge);border-radius:6px;background:#101719}.crystal-workspace{display:grid;grid-template-columns:290px minmax(0,1fr);gap:28px;margin:36px 0}.crystal-sidebar{background:#152320;border:1px solid var(--edge);border-radius:5px;padding:22px;align-self:start}.crystal-sidebar>label{margin:20px 0}.crystal-sidebar output{float:right;color:var(--warm)}.crystal-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:20px 0}.crystal-presets button{font-size:12px;padding:9px}.crystal-canvases{display:grid;grid-template-columns:1fr 1fr;gap:16px}.crystal canvas{width:100%;height:auto;display:block;background:#102020;border:1px solid var(--edge);border-radius:4px;aspect-ratio:1}.crystal-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.crystal-metric{background:#172523;padding:17px;border:1px solid var(--edge);border-radius:3px}.crystal-metric strong{display:block;font-size:28px;font-weight:400;color:var(--warm)}.crystal-metric span{font-size:12px;color:var(--muted)}.crystal-legend{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:10px 0;color:var(--muted)}.crystal-tablewrap{overflow-x:auto;max-width:100%;border:1px solid var(--edge)}.crystal table{width:100%;min-width:560px;border-collapse:collapse}.crystal th,.crystal td{padding:16px;text-align:left;border-bottom:1px solid var(--edge);font-size:14px}.crystal th{color:var(--teal);font-weight:500}.crystal td{color:var(--ink)}.crystal pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6;padding:20px;background:#152320}.crystal a{overflow-wrap:anywhere}.crystal-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:center;padding:55px 0}.crystal-feature img{width:100%;height:auto}.crystal-feature h2{font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.1}.crystal-feature p{color:#b7c7c1;line-height:1.7}.crystal-banner{padding:24px;border:1px solid #344743;margin:24px 0;background:#152320}.crystal-banner p{margin:8px 0}.crystal-source{max-width:850px}.crystal-source li{line-height:1.8;color:var(--muted);margin:8px 0}
@media(max-width:1000px){.crystal-workspace{grid-template-columns:250px minmax(0,1fr)}.crystal-canvases{grid-template-columns:1fr}.crystal-metrics{grid-template-columns:1fr}.crystal-hero{padding-top:40px}}
@media(max-width:740px){.crystal-hero,.crystal-grid,.crystal-workspace,.crystal-feature{grid-template-columns:1fr}.crystal h1{font-size:54px}.crystal-cards{grid-template-columns:1fr}.crystal-canvases{grid-template-columns:1fr 1fr}.crystal-numbers strong{font-size:29px}.crystal-nav{gap:12px 20px}.crystal-section{padding:45px 0}.crystal-scene{margin-top:-30px}.crystal-metrics{grid-template-columns:repeat(3,1fr)}.crystal-metric{padding:12px}.crystal-metric strong{font-size:24px}}
@media(max-width:430px){.crystal-canvases,.crystal-numbers,.crystal-metrics{grid-template-columns:1fr}.crystal h1{font-size:45px}.crystal-numbers{gap:16px}.crystal-numbers strong{font-size:30px}.crystal-numbers span{font-size:13px}.crystal-controls{gap:10px}.crystal-card{padding:23px}}
