:root{color-scheme:light;--bg: #f4f1eb;--bg-elevated: rgba(255, 252, 248, .88);--surface: rgba(255, 255, 255, .84);--surface-strong: rgba(255, 255, 255, .94);--ink: #13213f;--muted: #4f5d79;--line: rgba(0, 38, 100, .12);--accent: #002664;--accent-soft: rgba(0, 38, 100, .08);--gold: #847248;--gold-soft: rgba(132, 114, 72, .14);--warn: #7d6330;--fail: #a23333;--pass: #294f83;--shadow: 0 24px 80px rgba(0, 38, 100, .12);--font-display: "Goudy Old Style", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif;--font-sans: "Avenir Next", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at top left,rgba(0,38,100,.14),transparent 34%),radial-gradient(circle at bottom right,rgba(132,114,72,.16),transparent 30%),linear-gradient(145deg,#f7f3ed,#f3f1ee 48%,#ece5d8);color:var(--ink);font-family:var(--font-sans)}button,input,textarea,select{font:inherit}.app-shell{position:relative;overflow:hidden;min-height:100vh;padding:48px 24px 72px}.background-orbit{position:absolute;border-radius:999px;filter:blur(24px);opacity:.45;pointer-events:none}.background-orbit-left{top:72px;left:-120px;width:320px;height:320px;background:#00266433}.background-orbit-right{right:-80px;bottom:120px;width:280px;height:280px;background:#84724833}.hero,.workspace{position:relative;z-index:1;max-width:1240px;margin:0 auto}.hero{margin-bottom:32px;padding:36px 38px;border:1px solid rgba(132,114,72,.22);border-radius:36px;background:linear-gradient(135deg,#002664fa,#083580f5),linear-gradient(180deg,rgba(255,255,255,.08),transparent);box-shadow:0 28px 90px #0026643d}.hero-topline{display:flex;justify-content:space-between;gap:24px;align-items:start}.hero-action{flex:0 0 auto;background:#ffffff24;border-color:#ffffff38;color:#fff}.hero .eyebrow{color:#d8c27a}.hero h1{max-width:860px;margin:10px 0 14px;font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4.6rem);line-height:.94;letter-spacing:-.03em;color:#fff}.hero p{max-width:760px;margin:0;font-size:1.05rem;line-height:1.7;color:#ffffffd1}.workspace{display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px;align-items:start}.auth-workspace{position:relative;z-index:1;max-width:640px;margin:0 auto}.results-column{display:grid;gap:24px}.panel{background:var(--bg-elevated);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.upload-panel,.auth-panel,.timeline-panel,.sections-panel,.report-panel,.report-placeholder-panel,.json-panel,.llm-panel{padding:24px;animation:rise-in .48s ease both}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.upload-panel h2,.auth-panel h2,.panel-heading h3,.report-placeholder-panel h3{margin:10px 0 8px;font-family:var(--font-display);font-size:1.7rem}.panel-copy,.report-placeholder-panel p,.section-summary{color:var(--muted);line-height:1.65}.dropzone{display:grid;gap:10px;margin-top:18px;padding:24px;border:1.5px dashed rgba(0,38,100,.34);border-radius:24px;background:linear-gradient(145deg,#ffffffd1,#f4f0e8f0),repeating-linear-gradient(135deg,rgba(0,38,100,.035),rgba(0,38,100,.035) 10px,transparent 10px,transparent 20px);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.dropzone:hover,.dropzone.is-dragging{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 16px 36px #0026641f}.dropzone strong{font-size:1.05rem}.dropzone span{color:var(--muted)}.dropzone-badge{width:fit-content;padding:6px 10px;border-radius:999px;background:var(--gold-soft);color:var(--gold);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.upload-actions{display:flex;gap:12px;margin-top:18px}.auth-panel{padding:28px}.auth-form{display:grid;gap:16px;margin-top:20px}.auth-field{display:grid;gap:8px}.auth-field span{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.auth-field input{min-height:52px;padding:0 16px;border-radius:18px;border:1px solid rgba(0,38,100,.16);background:#fffffff0;color:var(--ink)}.auth-field input:focus{outline:2px solid rgba(0,38,100,.16);border-color:#00266457}.auth-message{margin-top:18px;color:var(--muted)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .16s ease,opacity .16s ease,border-color .16s ease,background-color .16s ease}.primary-button{background:linear-gradient(135deg,#002664,#173f7a);color:#fff;font-weight:700}.secondary-button{background:#fff;border-color:#00266429;color:var(--accent);font-weight:600}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.job-chip{display:inline-flex;gap:8px;align-items:center;margin-top:18px;padding:10px 14px;border-radius:999px;background:#0026640f}.job-chip code{font-size:.8rem}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.progress-value{font-family:var(--font-display);font-size:1.5rem;color:var(--accent)}.progress-track{overflow:hidden;height:14px;margin-bottom:14px;border-radius:999px;background:#0026641a;border:1px solid rgba(0,38,100,.08)}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#002664,#284f87 62%,#847248);box-shadow:inset 0 0 16px #fff3;transition:width .26s ease}.status-current{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:var(--muted)}.status-current strong{color:var(--ink);font-size:1rem}.status-current span{white-space:nowrap;font-size:.88rem}.step-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.step-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#0026640d;border:1px solid rgba(0,38,100,.08);color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.step-pill.is-complete{background:#0026641a;color:var(--accent)}.step-pill.is-active{background:var(--gold-soft);border-color:#8472483d;color:var(--gold)}.status-log{margin-top:18px;display:grid;gap:10px}.status-log.compact{margin-top:0}.status-log.compact .status-log-row{padding:8px 12px;border-radius:14px}.status-log.compact .status-log-row strong,.status-log.compact .status-log-row span{font-size:.84rem}.status-log-row{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:#ffffff9e;border:1px solid rgba(0,38,100,.08)}.status-log-row strong{font-size:.95rem}.status-log-row span,.status-placeholder{color:var(--muted);font-size:.9rem}.sections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.section-card{border-radius:22px;background:var(--surface);border:1px solid rgba(0,38,100,.08);min-height:0;overflow:hidden}.section-card.is-featured{grid-column:1 / -1}.section-card.is-pending{background:#ffffff80}.section-card-summary{list-style:none;cursor:pointer}.section-card-summary::-webkit-details-marker{display:none}.section-card-summary-meta{display:flex;align-items:center;gap:10px}.section-card-header{display:flex;justify-content:space-between;gap:12px;align-items:start;padding:18px}.section-card-header h4{margin:8px 0 0;font-size:1.1rem}.disclosure-indicator{position:relative;width:12px;height:12px;flex:0 0 auto}.disclosure-indicator:before,.disclosure-indicator:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:2px;border-radius:999px;background:var(--accent);transform:translate(-50%,-50%);transition:transform .16s ease,opacity .16s ease}.disclosure-indicator:after{transform:translate(-50%,-50%) rotate(90deg)}.section-card[open] .disclosure-indicator:after{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scaleX(.3)}.section-card-body{padding:0 18px 18px;border-top:1px solid rgba(0,38,100,.08)}.section-card-meta{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 12px;color:var(--muted);font-size:.88rem}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:7px 11px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.status-pill.pass{background:#0026641a;color:var(--pass)}.status-pill.warning{background:var(--gold-soft);color:var(--warn)}.status-pill.fail{background:#a233331f;color:var(--fail)}.status-pill.pending{background:#1f2a2c14;color:var(--muted)}.section-findings{display:grid;gap:12px}.finding-row{display:grid;grid-template-columns:10px 1fr;gap:10px}.finding-row p{margin:4px 0 0;color:var(--muted);font-size:.93rem;line-height:1.55}.finding-recommendation{color:var(--accent)}.finding-location{color:var(--gold)}.finding-marker{width:10px;height:10px;margin-top:8px;border-radius:999px}.finding-marker.pass{background:var(--pass)}.finding-marker.warning{background:var(--warn)}.finding-marker.fail{background:var(--fail)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}.summary-card{padding:16px;border-radius:20px;background:var(--surface-strong);border:1px solid rgba(0,38,100,.08);box-shadow:inset 0 3px #8472483d}.summary-card span{display:block;margin-bottom:10px;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.summary-card strong{font-size:1.8rem;font-family:var(--font-display);color:var(--accent)}.report-headline{margin:0 0 20px;font-size:1.02rem;line-height:1.7}.report-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;padding:16px 18px;border-radius:20px;background:#0026640d;border:1px solid rgba(0,38,100,.08)}.report-action-copy{display:grid;gap:4px}.report-action-copy strong{font-size:.98rem}.report-action-copy span{color:var(--muted);font-size:.92rem}.report-action-buttons{display:flex;gap:10px;flex-wrap:wrap}.report-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.report-columns h4{margin:0 0 10px;font-size:1rem}.report-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.7}.llm-panel summary,.json-panel summary{cursor:pointer;font-weight:700}.llm-panel pre,.json-panel pre{margin:16px 0 0;padding:18px;border-radius:18px;background:#1f2a2cf0;color:#f6efe4;overflow:auto;font-size:.84rem;line-height:1.6}.placeholder-lines{display:grid;gap:10px;margin-top:24px}.placeholder-lines span{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,#1f2a2c0f,#1f2a2c24,#1f2a2c0f);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.placeholder-lines span:nth-child(2){width:82%}.placeholder-lines span:nth-child(3){width:68%}.form-error,.app-error{margin:16px 0 0;color:var(--fail);line-height:1.6}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1080px){.workspace{grid-template-columns:1fr}}@media (max-width: 720px){.app-shell{padding:28px 16px 48px}.hero-topline{flex-direction:column}.hero h1{font-size:clamp(2.2rem,12vw,3.4rem)}.upload-actions,.report-columns{grid-template-columns:1fr;flex-direction:column}.report-actions,.status-log-row,.section-card-header,.status-current{flex-direction:column;align-items:flex-start}}
