:root { color-scheme: dark; font-family: system-ui, sans-serif; color: rgb(236, 232, 225); background: rgb(20, 21, 23); }
* { box-sizing: border-box; }
body { margin: 0px; background: radial-gradient(at right top, rgba(58, 48, 35, 0.17), transparent 65%); }
main { max-width: 980px; margin: auto; padding: 36px 22px 80px; }
.eyebrow { color: rgb(213, 173, 117); letter-spacing: 0.16em; font-size: 16px; }
h1 { font-size: clamp(32px, 6vw, 48px); line-height: 1.12; }
h2 { font-size: 26px; }
h3 { font-size: 23px; }
p, label, summary { font-size: 19px; line-height: 1.55; }
p { color: rgb(196, 193, 187); }
section, article { background: rgb(32, 33, 36); border: 1px solid rgb(56, 57, 61); border-radius: 18px; padding: 24px; margin: 22px 0px; }
aside { border-left: 3px solid rgb(213, 173, 117); padding: 14px; color: rgb(216, 187, 146); }
label { display: grid; gap: 10px; margin: 15px 0px; }
input { width: 100%; font: inherit; padding: 15px; background: rgb(20, 21, 23); border: 1px solid rgb(85, 85, 85); border-radius: 10px; }
button { min-height: 50px; border: 0px; border-radius: 10px; padding: 13px 22px; background: rgb(214, 175, 120); color: rgb(22, 21, 20); font: 600 18px system-ui; cursor: pointer; }
button:disabled { opacity: 0.5; cursor: default; }
.secondary { background: rgb(53, 54, 56); color: rgb(238, 238, 238); }
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.domains { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.domains section { margin-bottom: 0px; }
.check { display: flex; align-items: flex-start; }
.check input { width: 24px; height: 24px; flex-shrink: 0; }
.badge { color: rgb(213, 173, 117); font-size: 16px; }
.actions { display: flex; gap: 12px; flex-wrap: wrap; }
#notice { color: rgb(229, 192, 137); overflow-wrap: anywhere; }
summary { cursor: pointer; }
.stat { font-size: 32px; color: rgb(255, 255, 255); }
.history { font-size: 15px; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  main { padding: 24px 16px; }
  .domains { grid-template-columns: 1fr; gap: 0px; }
  section, article { padding: 20px; }
  button { width: 100%; }
  .toolbar { align-items: flex-start; }
  .toolbar button { width: auto; }
  input { min-width: 0px; }
}
.brand { display: flex; align-items: center; gap: 0px; font-family: Manrope, "DM Sans", Arial, sans-serif; font-size: 2.2rem; font-weight: 800; line-height: 1.5; letter-spacing: -1.3px; color: rgb(241, 234, 224); }
.brand img { width: 58px; height: 58px; flex-shrink: 0; margin-right: -6px; transform: translate(-2px, -5px); filter: drop-shadow(rgba(165, 255, 48, 0.15) 0px 0px 5px); }
.brand-period { color: rgb(215, 173, 116); }
.brand-context { display: block; margin: 8px 0px 0px 52px; }
@font-face { font-family: Manrope; font-style: normal; font-weight: 800; font-display: swap; src: url("/manrope-800.ttf") format("truetype"); }
:root { background: rgb(16, 18, 20); color: rgb(238, 233, 226); }
body { background: transparent; overflow-x: hidden; }
.ambient { position: fixed; inset: 0px; pointer-events: none; background: radial-gradient(at 85% 12%, rgba(120, 96, 67, 0.125), transparent 48%), radial-gradient(at 0px 60%, rgba(65, 87, 105, 0.075), transparent 40%); z-index: -1; }
.ambient::after { content: ""; position: absolute; inset: 0px; background-image: radial-gradient(rgba(155, 153, 144, 0.22) 0.6px, transparent 0.6px); background-size: 32px 32px; mask-image: linear-gradient(rgba(0, 0, 0, 0.533), transparent 85%); }
main { max-width: 1140px; padding: 38px 36px 32px; }
.masthead { display: flex; align-items: center; justify-content: space-between; }
.brand-context { font-size: 11px; letter-spacing: 0.32em; margin-top: 0px; }
.mode { font-size: 10px; letter-spacing: 0.16em; color: rgb(165, 157, 145); display: flex; align-items: center; gap: 9px; }
.mode i { width: 5px; height: 5px; border-radius: 50%; background: rgb(212, 183, 134); box-shadow: rgba(212, 183, 134, 0.533) 0px 0px 12px; }
.hero { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 16px; padding: 38px 0px 24px; }
.hero-copy > .eyebrow { font-size: 11px; letter-spacing: 0.22em; color: rgb(185, 156, 120); }
h1 { font-family: Manrope, Arial, sans-serif; font-size: clamp(38px, 5.5vw, 64px); line-height: 1.09; letter-spacing: -2.6px; font-weight: 800; margin: 20px 0px 22px; }
.hero-copy p { font-size: 18px; line-height: 1.7; color: rgb(169, 166, 161); }
.orbital { position: relative; text-align: center; min-width: 0px; }
.orbital svg { width: 100%; max-width: 400px; overflow: visible; }
.globe { stroke: rgba(198, 172, 129, 0.19); stroke-width: 0.8; }
.orbit { stroke: rgba(213, 178, 130, 0.44); stroke-width: 1; transform-origin: 200px 200px; animation: 32s linear 0s infinite normal none running orbital-drift; }
.orbit circle, .nodes circle { fill: rgb(221, 193, 151); stroke: none; }
.nodes { stroke: rgba(212, 183, 137, 0.333); stroke-width: 1; animation: 8s ease-in-out 0s infinite normal none running constellation-breathe; }
.orbit-label { display: block; color: rgb(147, 133, 115); font-size: 8px; letter-spacing: 0.22em; margin-top: -14px; }
.boundary { display: flex; align-items: center; gap: 16px; padding: 18px 22px; border: 1px solid rgba(213, 173, 116, 0.16); border-radius: 12px; background: rgba(194, 158, 103, 0.063); margin: 18px 0px 40px; color: rgb(188, 180, 168); }
.boundary-mark { font-size: 30px; color: rgb(208, 172, 121); }
.boundary strong { display: block; font-size: 14px; font-weight: 600; color: rgb(218, 199, 169); margin-bottom: 4px; }
.boundary span:not(.boundary-mark) { font-size: 12px; line-height: 1.7; }
h2 { font-size: 26px; letter-spacing: -0.7px; font-weight: 600; margin: 8px 0px 12px; }
.eyebrow { font-size: 10px; letter-spacing: 0.2em; }
.toolbar { margin: 38px 0px 8px; }
.toolbar .secondary { font-size: 13px; min-height: 42px; padding: 9px 16px; border: 1px solid rgba(255, 255, 255, 0.086); background: rgba(255, 255, 255, 0.02); }
.domains { gap: 20px; }
.domain { position: relative; overflow: hidden; padding: 24px 26px 26px; background: linear-gradient(135deg, rgba(41, 40, 38, 0.44), rgba(28, 29, 32, 0.5)); border-color: rgba(255, 255, 255, 0.082); border-radius: 16px; transition: border-color 0.3s, transform 0.3s; }
.domain::before { content: ""; position: absolute; width: 230px; height: 230px; right: -95px; top: 30px; border: 1px solid rgba(207, 172, 118, 0.19); border-radius: 50%; box-shadow: rgba(207, 172, 118, 0.027) 0px 0px 0px 28px, rgba(207, 172, 118, 0.02) 0px 0px 0px 58px; pointer-events: none; }
.domain.aviation::before { border-color: rgba(151, 172, 189, 0.19); box-shadow: rgba(151, 172, 189, 0.027) 0px 0px 0px 28px, rgba(151, 172, 189, 0.02) 0px 0px 0px 58px; }
.domain:hover { border-color: rgba(188, 159, 114, 0.314); transform: translateY(-2px); }
.domain-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; position: relative; }
.domain-number { font-size: 10px; letter-spacing: 0.13em; color: rgb(162, 154, 141); }
.pill { font-size: 8px; letter-spacing: 0.08em; color: rgb(221, 195, 152); border: 1px solid rgba(214, 173, 120, 0.208); border-radius: 30px; padding: 6px 8px; background: rgba(189, 147, 84, 0.075); }
.muted-pill { color: rgb(167, 181, 192); border-color: rgba(140, 158, 166, 0.2); background: rgba(140, 158, 166, 0.043); }
.domain-icon { height: 42px; width: 42px; fill: none; stroke: rgb(212, 183, 137); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; margin-top: 30px; }
.aviation .domain-icon { stroke: rgb(155, 172, 189); }
.domain h3 { font-size: 30px; letter-spacing: -0.8px; margin: 12px 0px; }
.domain h3 span { float: right; color: rgb(137, 125, 107); font-size: 22px; font-weight: 400; }
.domain p { font-size: 17px; line-height: 1.55; margin: 0px 0px 22px; color: rgb(182, 178, 171); }
.domain small { font-size: 11px; line-height: 1.6; color: rgb(143, 142, 138); display: block; }
.transfer { margin-top: 32px; padding: 28px; background: rgba(26, 28, 30, 0.88); border-color: rgba(255, 255, 255, 0.075); }
.section-heading { display: flex; gap: 18px; align-items: center; }
.step-number { font-size: 15px; color: rgb(186, 156, 116); border: 1px solid rgba(181, 154, 115, 0.18); border-radius: 50%; width: 43px; height: 43px; display: grid; place-items: center; flex-shrink: 0; }
.section-heading h2 { margin: 5px 0px; }
.transfer > p, #workspace > .report-heading + p { font-size: 15px; color: rgb(159, 158, 153); line-height: 1.75; }
.file-zone { background: rgba(16, 18, 20, 0.43); border: 1px dashed rgba(162, 139, 108, 0.333); border-radius: 12px; padding: 20px; font-size: 13px; color: rgb(203, 183, 151); margin: 22px 0px; }
.file-zone input { border: 0px; padding: 12px 0px 0px; background: transparent; font-size: 13px; color: rgb(169, 163, 154); }
.file-zone input::file-selector-button { background: rgb(47, 45, 41); color: rgb(225, 210, 188); border: 1px solid rgba(114, 99, 78, 0.333); border-radius: 6px; padding: 10px 14px; margin-right: 12px; cursor: pointer; }
button { background: linear-gradient(120deg, rgb(219, 192, 152), rgb(185, 149, 100)); font-size: 14px; min-height: 48px; box-shadow: rgba(0, 0, 0, 0.133) 0px 2px 12px; }
button:hover { filter: brightness(1.08); }
button:focus-visible, input:focus-visible, summary:focus-visible { outline: rgb(223, 188, 133) solid 2px; outline-offset: 4px; }
#import { display: flex; justify-content: space-between; gap: 60px; }
.report-heading { margin-top: 44px; }
#reports > p { padding: 36px 24px; text-align: center; border: 1px dashed rgba(255, 255, 255, 0.082); border-radius: 14px; font-size: 16px; color: rgb(134, 137, 132); background: rgba(24, 26, 28, 0.4); }
details { margin-top: 24px; padding: 20px 0px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
summary { font-size: 14px; color: rgb(183, 175, 163); }
footer { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255, 255, 255, 0.07); margin-top: 50px; padding-top: 24px; color: rgb(119, 124, 125); font-size: 11px; }
footer span:first-child { letter-spacing: 0.19em; }
#login { max-width: 570px; margin: 20px auto 50px; background: rgba(29, 31, 33, 0.69); }
#login p { font-size: 16px; }
#login label { font-size: 14px; }
#login input { border-color: rgba(255, 255, 255, 0.125); }
#notice:empty { display: none; }
@keyframes orbital-drift { 
  100% { transform: rotate(360deg); }
}
@keyframes constellation-breathe { 
  50% { opacity: 0.45; }
}
@media (max-width: 700px) {
  main { padding: 24px 20px; }
  .hero { grid-template-columns: 1fr; position: relative; padding: 46px 0px 32px; min-height: 330px; }
  .hero-copy { position: relative; z-index: 1; }
  .hero h1 { font-size: 46px; letter-spacing: -2px; }
  .hero-copy p { font-size: 16px; }
  .orbital { position: absolute; right: -100px; top: 5px; width: 330px; opacity: 0.26; pointer-events: none; }
  .orbit-label { display: none; }
  .hero-copy > .eyebrow { font-size: 9px; }
  .mode { font-size: 8px; letter-spacing: 0.08em; }
  .domains { grid-template-columns: 1fr; gap: 0px; }
  .domain { padding: 22px; margin-top: 16px; }
  .domain-icon { margin-top: 22px; }
  .boundary { padding: 14px; gap: 12px; margin-top: 4px; margin-bottom: 30px; }
  .boundary span:not(.boundary-mark) { font-size: 11px; }
  .toolbar { align-items: center; }
  .toolbar h2 { font-size: 23px; }
  .transfer { padding: 22px 18px; }
  .section-heading { gap: 12px; }
  .section-heading h2 { font-size: 22px; }
  .step-number { width: 36px; height: 36px; }
  #import { width: 100%; }
  footer { flex-direction: column; gap: 8px; }
  .brand { font-size: 2.2rem; }
  .check { font-size: 16px; }
  .actions button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .orbit, .nodes { animation: auto ease 0s 1 normal none running none; }
  .domain { transition: none; }
  .domain:hover { transform: none; }
}
[hidden]{display:none!important} input,button{font:inherit;padding:10px;margin:6px} label{display:block} article{border:1px solid #655b4b;border-radius:12px;padding:24px;margin-top:24px} pre{white-space:pre-wrap;overflow-wrap:anywhere} blockquote{border-left:3px solid #d5ad75;padding-left:16px} #status{color:#e5c895} button{cursor:pointer}
