:root{
  --bg:#090b12; --panel:#111625; --panel2:#151c2f; --text:#f4f7fb; --muted:#a7b2c5;
  --line:rgba(255,255,255,.11); --accent:#6ee7b7; --accent2:#8ab4ff; --warn:#ffd166; --bad:#ff8a8a;
  --shadow:0 24px 80px rgba(0,0,0,.35); --radius:24px;
}
*{box-sizing:border-box} body{margin:0;background:radial-gradient(circle at 20% 0%,#203250 0,#090b12 38%,#07080d 100%);color:var(--text);font-family:Inter,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;line-height:1.6}
a{color:inherit} .hero{padding:24px clamp(20px,5vw,72px) 42px}.nav{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:28px}.brand{font-weight:800;letter-spacing:-.02em;display:flex;gap:10px;align-items:center}.dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 24px var(--accent)}.navlinks{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:14px}.navlinks a{text-decoration:none}.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) 420px;gap:34px;align-items:center}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}h1{font-size:clamp(34px,5vw,58px);line-height:1.04;margin:8px 0 22px;letter-spacing:-.055em}h2{font-size:clamp(28px,4vw,48px);line-height:1.12;margin:8px 0 18px;letter-spacing:-.04em}h3{font-size:22px;margin:0 0 10px;letter-spacing:-.025em}h4{margin:0 0 12px}.lead{font-size:17px;color:#d5dce9;max-width:800px}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);padding:12px 16px;border-radius:14px;text-decoration:none;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:linear-gradient(135deg,#39d39f,#6ea8ff);color:#07101b;border:0}.btn.secondary:hover,.btn.small:hover{border-color:rgba(255,255,255,.28)}.btn.small{padding:9px 12px;font-size:13px}.btn.large{width:100%;font-size:18px;padding:16px;margin-top:22px}.score-card,.section,.panel,.download-item{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.score-card{padding:28px}.score-top{display:flex;justify-content:space-between;align-items:center}.score-top strong{font-size:44px}.bar{height:10px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden;margin:18px 0 22px}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}.score-card ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}.score-card li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;color:var(--muted)}.score-card b{color:var(--text)}main{padding:0 clamp(20px,5vw,72px) 72px}.hero-compact{padding-bottom:18px}.hero-grid-compact{grid-template-columns:minmax(0,1fr) 340px}.compact-score{padding:22px}.compact-score .bar{display:none}.compact-section{margin-top:18px}.compact-cards article{padding:18px}.app-shell{margin-top:8px}.section{padding:38px;margin:24px 0}.cards.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards article,.loop-grid article,.run-grid article{background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:20px;padding:22px}.cards p,.section p{color:var(--muted)}.app-shell{padding:0;overflow:hidden}.section-head,.panel-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.section-head{padding:34px 34px 0}.badge{border:1px solid rgba(110,231,183,.35);background:rgba(110,231,183,.08);color:#b8f7df;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.workspace-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0;border-top:1px solid var(--line);margin-top:28px}.side-steps{background:rgba(0,0,0,.2);border-right:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:10px}.step-tab{background:transparent;color:var(--muted);border:1px solid var(--line);padding:12px 14px;border-radius:14px;text-align:left;font-weight:800;cursor:pointer}.step-tab.active{background:linear-gradient(135deg,rgba(110,231,183,.2),rgba(138,180,255,.18));color:var(--text);border-color:rgba(110,231,183,.5)}.workspace-panels{padding:24px}.panel{display:none;padding:26px;background:rgba(8,12,22,.58);box-shadow:none}.panel.active{display:block}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:8px;font-weight:800;color:#dbe6f8}input,select,textarea{width:100%;background:#080d18;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:12px 13px;font:inherit;outline:none}textarea{min-height:98px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:rgba(110,231,183,.8);box-shadow:0 0 0 4px rgba(110,231,183,.12)}.goal-box{margin-top:20px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:18px;padding:18px}.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.checks label{display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.18);padding:10px;border-radius:12px;font-weight:700;color:var(--muted)}.checks input{width:auto}.question-list{display:grid;gap:14px}.upload-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}.recommend-list{display:grid;gap:10px}.recommend{padding:13px;border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:14px}.recommend strong{display:block}.recommend span{color:var(--muted);font-size:14px}.recommend.missing{border-color:rgba(255,209,102,.5);background:rgba(255,209,102,.08)}.drop-zone{position:relative;min-height:210px;border:2px dashed rgba(138,180,255,.45);border-radius:22px;background:rgba(138,180,255,.07);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;cursor:pointer;transition:.2s}.drop-zone.dragover{border-color:var(--accent);background:rgba(110,231,183,.12);transform:translateY(-1px)}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-icon{font-size:34px;color:var(--accent);margin-bottom:8px}.drop-zone span{color:var(--muted);max-width:460px}.file-list{margin-top:12px;display:grid;gap:10px}.file-list.empty,.result-panel.empty{color:var(--muted);border:1px dashed var(--line);padding:20px;border-radius:16px}.file-row{display:grid;grid-template-columns:1fr auto;gap:12px;background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:14px;padding:12px}.file-row small{color:var(--muted)}.run-grid,.loop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.loop-grid{grid-template-columns:repeat(3,1fr)}.run-grid span,.loop-grid span{color:var(--accent);font-weight:900}.result-actions{display:flex;gap:8px;flex-wrap:wrap}.result-panel{display:grid;gap:18px}.result-score{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center}.donut{width:140px;height:140px;border-radius:50%;background:conic-gradient(var(--accent) var(--score), rgba(255,255,255,.1) 0);display:grid;place-items:center}.donut strong{background:#0b101c;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font-size:30px}.result-section{background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:18px;padding:18px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left}th{color:#cfe1ff;background:rgba(255,255,255,.05)}td{color:#dbe3f2}.tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(110,231,183,.12);color:#baf7df;font-size:12px;font-weight:800}.tag.warn{background:rgba(255,209,102,.12);color:#ffe0a0}.tag.bad{background:rgba(255,138,138,.12);color:#ffc0c0}.download-card,.submission-card{background:linear-gradient(135deg,rgba(110,231,183,.08),rgba(138,180,255,.08))}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.download-item{text-decoration:none;padding:18px;box-shadow:none}.download-item strong{display:block}.download-item span{display:block;color:var(--muted);margin-top:6px}.submission-card code{background:rgba(0,0,0,.32);border:1px solid var(--line);border-radius:8px;padding:2px 6px;color:#bdf7df}footer{padding:34px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}
@media (max-width:1000px){.hero-grid,.workspace-grid,.upload-layout{grid-template-columns:1fr}.side-steps{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow:auto}.cards.three,.run-grid,.loop-grid,.download-grid,.form-grid.two,.checks{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}.section-head,.panel-head{flex-direction:column}.workspace-panels{padding:16px}.panel{padding:20px}.result-score{grid-template-columns:1fr}.hero{padding-bottom:32px}}
*{letter-spacing:0!important}
.score-card,.section,.panel,.download-item,.cards article,.loop-grid article,.run-grid article,.goal-box,.recommend,.file-row,.result-section,.table-wrap,input,select,textarea,.btn,.step-tab{border-radius:8px!important}
.llm-status{margin:18px 0}
.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.status-grid article{border:1px solid rgba(110,231,183,.24);background:rgba(110,231,183,.07);border-radius:8px;padding:14px;min-height:118px}
.status-grid span{display:block;color:var(--accent);font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:6px}
.status-grid strong{display:block;color:#f6fbff;font-size:18px;margin-bottom:8px}
.status-grid p{margin:0;color:var(--muted);font-size:14px}
.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.timeline article{border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:8px;padding:14px;min-height:150px}
.timeline span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(110,231,183,.18);color:#c9ffe9;font-weight:900;margin-bottom:10px}
.timeline strong{display:block;margin-bottom:8px}
.timeline p{margin:0;color:var(--muted);font-size:14px}
.result-section h4{font-size:18px;color:#f7fbff;margin-bottom:14px}
.result-section ul{margin:0;padding-left:18px;color:#dbe3f2}
.result-section li{margin:6px 0}
@media (max-width:1000px){.status-grid,.timeline{grid-template-columns:1fr}.timeline article{min-height:auto}}
