:root{
  --bg:#01050c;
  --panel:rgba(4,12,22,.42);
  --panel-strong:rgba(5,16,28,.72);
  --line:rgba(154,212,255,.14);
  --line-strong:rgba(188,230,255,.34);
  --text:#f5fbff;
  --muted:#b2c6d6;
  --accent:#8fd6ff;
  --accent2:#6eaef5;
  --danger:#ff8b8b;
  --ok:#8ff1b3;
  --radius:28px;
  --shadow:0 28px 100px rgba(0,0,0,.46);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;overflow:hidden}
body{position:relative}
button,input,textarea{font:inherit}button{cursor:pointer}textarea{outline:none}
#space{position:fixed;inset:0;width:100vw;height:100vh;display:block;z-index:0}
.earth-network{
  position:fixed;right:-10vw;top:11vh;width:min(52vw,760px);aspect-ratio:1;z-index:0;pointer-events:none;opacity:.24;
  filter:saturate(.24) brightness(.34) contrast(1.06) hue-rotate(165deg);
  animation:earthFloat 22s ease-in-out infinite;
}
.earth-network::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(0,0,0,0) 0 46%,rgba(2,7,14,.35) 58%,rgba(1,5,12,.86) 82%,rgba(1,5,12,1) 100%);border-radius:50%}
.earth-network img,.earth-network svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.earth-network svg{filter:none}
.network-lines path{fill:none;stroke:rgba(173,225,255,.76);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:12 18;animation:networkFlow 8s linear infinite}
.network-nodes circle{fill:#edfaff;stroke:#87d9ff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:nodePulse 2.7s ease-in-out infinite}
.network-nodes circle:nth-child(3n){animation-delay:.7s}.network-nodes circle:nth-child(4n){animation-delay:1.3s}
.app-shell{position:relative;z-index:1;height:100vh;display:grid;grid-template-rows:64px 1fr 28px;padding:12px 20px 8px}
.topbar{display:flex;justify-content:center;align-items:center}
.language-switch{display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid var(--line);border-radius:999px;background:rgba(2,8,15,.48);backdrop-filter:blur(16px);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.lang{border:0;background:transparent;color:var(--muted);padding:2px 4px}.lang.active{color:var(--text)}
main{position:relative;overflow:hidden}
.core-scene,.workspace,.completion{position:absolute;inset:0}
.core-scene{display:grid;place-items:center;gap:16px;transition:opacity .54s ease,transform .54s ease}.core-scene.warp{opacity:0;transform:scale(1.08)}
.orbital-field{position:relative;width:min(92vw,1000px);aspect-ratio:1;display:grid;place-items:center}
.orbit{position:absolute;border:1px solid var(--line);border-radius:50%;pointer-events:none}.orbit-a{inset:8%;animation:spin 60s linear infinite}.orbit-b{inset:16%;border-style:dashed;animation:spinReverse 42s linear infinite}.orbit-c{inset:24%;animation:spin 32s linear infinite}
.orbit::before,.orbit::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent2)}.orbit::before{top:12%;left:20%}.orbit::after{bottom:14%;right:18%}
.core{position:relative;width:53%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-strong);background:radial-gradient(circle at 50% 50%,rgba(150,215,255,.14),rgba(7,16,31,.86) 42%,rgba(2,6,14,.98) 76%);box-shadow:0 0 82px rgba(96,176,255,.12), inset 0 0 78px rgba(113,191,255,.10);animation:breathe 6s ease-in-out infinite}
.core-aura{position:absolute;inset:-13%;border:1px solid rgba(184,229,255,.22);border-radius:50%;animation:spin 24s linear infinite}
.core-grid{position:absolute;inset:7%;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 14px,rgba(169,220,255,.07) 15px 16px);opacity:.82}
.core-copy{text-align:center;z-index:2;padding:20px 30px}.core h1{margin:0;letter-spacing:.16em;font-size:clamp(2rem,5.2vw,4.4rem);font-weight:500}.core p{margin:.55rem 0 0;color:var(--muted);letter-spacing:.12em;font-size:clamp(.72rem,1.15vw,.94rem)}
.methodology-ring{position:absolute;inset:0}
.method-node{position:absolute;left:50%;top:50%;width:clamp(112px,11vw,142px);aspect-ratio:1;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * min(37vw,400px))) rotate(calc(-1 * var(--angle)));border:1px solid var(--line);border-radius:50%;background:rgba(2,9,17,.58);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 10px 12px;backdrop-filter:blur(13px);transition:.35s ease;box-shadow:inset 0 0 28px rgba(99,178,235,.07);text-align:center}
.method-node:hover,.method-node:focus-visible,.method-node.selected{border-color:var(--line-strong);box-shadow:0 0 32px rgba(106,196,255,.16), inset 0 0 28px rgba(99,178,235,.12);transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * min(37vw,400px))) rotate(calc(-1 * var(--angle))) scale(1.08)}
.method-node .symbol{font-size:clamp(1.2rem,2vw,2rem);line-height:1}.method-node .label{font-size:clamp(.6rem,.9vw,.82rem);line-height:1.24;max-width:88%;display:block;white-space:normal;word-break:break-word}
.scene-prompt{margin:0;padding:11px 22px;border:1px solid var(--line);border-radius:999px;background:rgba(2,8,15,.42);color:var(--muted)}
.workspace,.completion{display:grid;place-items:center}
.workspace{padding:6px 0 2px}.workspace[hidden],.completion[hidden],.core-scene[hidden]{display:none!important}
.analysis-card,.completion{width:min(94vw,1120px);max-height:calc(100vh - 112px);padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);backdrop-filter:blur(20px);box-shadow:var(--shadow)}
.analysis-card{display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}
.workspace-header{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start;padding-bottom:16px;border-bottom:1px solid var(--line)}
.back-button{justify-self:start;padding:0;color:var(--accent)}
.workspace-head-copy h2{margin:.2rem 0 .35rem;font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:500}.workspace-description{margin:0;max-width:60ch;color:var(--muted);line-height:1.6}
.workspace-meta{display:grid;gap:14px;justify-items:end}.progress-wrap{width:min(220px,100%);display:grid;gap:8px;text-align:right}.progress-track{height:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.progress-track div{height:100%;width:0;background:linear-gradient(90deg,var(--accent),#b7ebff);transition:width .35s ease}
.stage-strip-wrap{padding:14px 0 8px;overflow:auto}.stage-strip{list-style:none;padding:0;margin:0;display:flex;gap:10px;flex-wrap:nowrap}.stage-strip li{min-width:124px;padding:11px 13px;border-radius:16px;border:1px solid transparent;background:rgba(255,255,255,.03);color:var(--muted);display:grid;gap:5px}.stage-strip li span{font-size:.78rem;color:var(--accent)}.stage-strip li strong{font-size:.86rem;font-weight:500;line-height:1.35}.stage-strip li.active{background:rgba(124,203,255,.1);color:var(--text);border-color:var(--line)}.stage-strip li.done{background:rgba(143,241,179,.08);color:var(--text)}
.question-panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:18px;min-height:0;padding-top:4px;overflow:hidden}
#questionContainer{min-height:0;overflow:auto;padding-right:6px}.question-card{min-height:100%;padding-top:6px}.question-counter{margin:0;color:var(--muted);font-size:.8rem}.question-title{font-size:clamp(1.35rem,2.4vw,2rem);font-weight:500;margin:14px 0 10px}.question-help{margin:0;color:var(--muted);line-height:1.7;max-width:760px}.field-label{display:grid;gap:10px;margin-top:18px}.field-label span{font-size:.86rem;color:var(--muted)}.answer-input{width:100%;resize:vertical;border:1px solid var(--line);border-radius:18px;padding:16px;background:rgba(255,255,255,.045);backdrop-filter:blur(8px);color:var(--text);min-height:180px}.answer-input::placeholder{color:#89a0b2}.validation-message{color:var(--danger);min-height:1.2em;margin:.5rem 0 0}
.live-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;padding:0 0 0 16px;border-left:1px solid var(--line)}.live-panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:4px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.72rem}.report-state{display:flex;gap:10px;color:var(--muted)}.report-state strong{color:var(--text)}.live-diagram{display:block;min-height:0;overflow:auto;padding-top:14px}.live-diagram svg{width:100%;height:auto;display:block;max-height:none}.live-empty{color:var(--muted);margin:10px 0 0;line-height:1.6}
.question-actions{display:flex;justify-content:space-between;gap:12px;margin-top:12px;grid-column:1 / -1}
.primary-button,.secondary-button,.text-button{border-radius:999px;padding:12px 20px}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#03101a}.secondary-button{border:1px solid var(--line-strong);background:transparent;color:var(--text)}.text-button{border:0;background:transparent;color:var(--muted)}
.completion{text-align:center;padding:0 0 6px}.completion-core{width:84px;height:84px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;color:var(--ok);font-size:2rem;box-shadow:0 0 35px rgba(115,224,170,.18)}.completion h2{font-size:clamp(2rem,4.5vw,3.5rem);font-weight:500;margin:.2em 0}.completion-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.legal{text-align:center;color:rgba(190,210,224,.58);font-size:.75rem}
.warp-clone{position:fixed;z-index:20;margin:0;border:1px solid var(--line-strong);border-radius:50%;background:rgba(3,10,18,.9);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none;box-shadow:0 0 45px rgba(126,210,255,.35)}.warp-clone .symbol{font-size:2rem}.warp-clone .label{font-size:.72rem;text-align:center;max-width:85%}
html[dir="rtl"] .workspace-meta{justify-items:start}html[dir="rtl"] .progress-wrap{text-align:left}html[dir="rtl"] .question-actions{flex-direction:row-reverse}html[dir="rtl"] .live-panel{padding:0 16px 0 0;border-left:0;border-right:1px solid var(--line)}html[dir="rtl"] .live-panel-head{flex-direction:row-reverse}html[dir="rtl"] .back-button{justify-self:end}html[dir="rtl"] .method-node .label,html[dir="rtl"] .stage-strip li strong,html[dir="rtl"] .workspace-description,html[dir="rtl"] .question-title,html[dir="rtl"] .question-help{text-align:center}html[dir="rtl"] .answer-input{text-align:right}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}@keyframes breathe{50%{transform:scale(1.03);box-shadow:0 0 116px rgba(104,194,255,.18),inset 0 0 82px rgba(105,197,255,.14)}}@keyframes earthFloat{0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}50%{transform:translate3d(-9px,8px,0) rotate(1deg)}}@keyframes networkFlow{to{stroke-dashoffset:-120}}@keyframes nodePulse{0%,100%{opacity:.45;transform:scale(.72)}50%{opacity:1;transform:scale(1.36)}}
@media (max-width:1040px){.question-panel{grid-template-columns:1fr}.live-panel{padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}html[dir="rtl"] .live-panel{padding:14px 0 0;border-right:0;border-top:1px solid var(--line)}.analysis-card{max-height:calc(100vh - 116px)}}
@media (max-width:920px){.earth-network{right:-18vw;top:18vh;width:70vw;opacity:.18}.workspace-header{grid-template-columns:1fr}.workspace-meta,.progress-wrap{justify-items:start;text-align:start}.method-node{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * min(39vw,330px))) rotate(calc(-1 * var(--angle)))}.method-node:hover,.method-node.selected{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * min(39vw,330px))) rotate(calc(-1 * var(--angle))) scale(1.06)}}
@media (max-width:720px){.app-shell{padding:10px 10px 8px;grid-template-rows:58px 1fr 24px}.orbital-field{width:98vw}.core{width:55%}.method-node{width:80px;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * 42vw)) rotate(calc(-1 * var(--angle)))}.method-node:hover,.method-node.selected{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * 42vw)) rotate(calc(-1 * var(--angle))) scale(1.04)}.method-node .symbol{font-size:1.05rem}.method-node .label{font-size:.47rem;line-height:1.16}.analysis-card,.completion{width:96vw;max-height:calc(100vh - 98px);padding:16px 14px 14px}.scene-prompt{font-size:.8rem;padding:10px 16px}.stage-strip li{min-width:104px}.question-title{font-size:1.25rem}.question-help{font-size:.92rem}.earth-network{right:-34vw;top:24vh;width:92vw;opacity:.15}.live-diagram svg{min-width:700px}.question-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(2,8,15,0),rgba(2,8,15,.88) 26%,rgba(2,8,15,.98) 100%);padding-top:14px;margin-top:8px}.legal{padding-bottom:max(4px,env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.earth-network,.network-lines path,.network-nodes circle{animation:none!important}}
