*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f8fe;--surface:#fff;--surface-sunken:#edf3fc;--navy:#07153f;--navy-strong:#040d28;--sky:#1e6fd9;--sky-text:#175fc4;--sky-soft:#eaf2fc;--positive-bg:#f0fdf4;--positive-ink:#16a34a;--negative-bg:#fff5f5;--negative-ink:#ef4444;--ink:#0a1638;--ink-muted:#48597a;--line:#dce6f5;--line-strong:#c1d2ec;--frame:#f3f4f6;--radius:16px;--radius-card:16px;--frame-gap:5px;--shell-max:80rem;--gutter:clamp(16px,2.8vw,28px);--ease:cubic-bezier(.16,1,.3,1);--font:"Rethink Sans",system-ui,sans-serif;--shadow-card:0 20px 48px #0a16381a, 0 2px 6px #0a16380f;--shadow-sheet:0 28px 64px #07153f2e, 0 4px 12px #07153f14}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font);color:var(--ink);background-color:#061b4a;background-image:radial-gradient(120% 90% at 18% 12%,#0a2a66 0%,#0000 55%),radial-gradient(90% 80% at 88% 88%,#041228 0%,#0000 50%),linear-gradient(160deg,#0a2758 0%,#061b4a 48%,#040f2e 100%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}#app{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.brand-badge{background:#0047ab;border-radius:9px;flex-shrink:0;width:32px;height:32px;display:block;overflow:hidden;box-shadow:0 0 0 1px #07153f14}.brand-badge-img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.page{flex:1;display:none}.page.active{animation:rise .32s var(--ease);display:block}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.page.active{animation:none}*{transition:none!important;animation-duration:.001ms!important}}.shell{width:min(var(--shell-max),100%);padding:clamp(28px,4vw,48px) var(--gutter) 64px;margin:0 auto}.shell--upload{align-items:stretch;min-height:100vh;padding:clamp(14px,2.2vw,22px);display:flex}.frame{min-width:0;min-height:0;padding:var(--frame-gap);border-radius:calc(var(--radius-card) + var(--frame-gap));background:var(--frame);flex:1;display:flex;box-shadow:inset 0 2px #ffffff47}.sheet{background:var(--surface);border-radius:var(--radius-card);min-width:0;box-shadow:var(--shadow-sheet);flex-direction:column;flex:1;display:flex;overflow:hidden}.shell--upload .sheet{box-shadow:none;background:0 0;border-radius:0;overflow:visible}.shell--upload .sheet-body{gap:var(--frame-gap)}.sheet-body{flex:1;align-items:stretch;min-height:0;display:flex}.sheet-intro{--intro-pad:clamp(28px,3.8vw,48px);padding:var(--intro-pad);background:var(--surface);border-radius:var(--radius-card);flex-direction:column;flex:1 1 0;justify-content:center;min-width:0;display:flex;position:relative;overflow:hidden}.intro-brand{top:var(--intro-pad);left:var(--intro-pad);z-index:1;color:var(--navy);letter-spacing:-.03em;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:10px;font-size:1.1rem;font-weight:800;display:inline-flex;position:absolute}.intro-brand:focus-visible{outline:2px solid var(--sky);outline-offset:4px}.intro-copy{flex-direction:column;flex:0 auto;justify-content:center;width:100%;max-width:28rem;display:flex}.sheet-form{border-radius:var(--radius-card);background-color:#061b4a;background-image:url(/assets/intro-panel.png);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;flex:1 1 0;justify-content:center;min-width:0;padding:clamp(28px,3.8vw,48px);display:flex;position:relative;overflow:hidden}.sheet-form:before{content:"";pointer-events:none;background:linear-gradient(#040d289e 0%,#040d28c7 100%);position:absolute;inset:0}.form-panel{z-index:1;width:100%;max-width:26rem;margin:0 auto;position:relative}.intro-title{letter-spacing:-.02em;color:var(--navy);text-wrap:balance;margin-bottom:16px;font-size:clamp(2rem,3.4vw,3.15rem);font-weight:800;line-height:1.08}.intro-lede{color:var(--ink-muted);text-wrap:pretty;max-width:42ch;font-size:1.0625rem;line-height:1.65}.form-label{color:#fff;margin-bottom:10px;font-size:.8125rem;font-weight:700}.form-hint{color:#ffffffd1;margin-bottom:16px;font-size:.8125rem;line-height:1.45}.upload-slot{--upload-h:220px;width:100%;min-width:0;min-height:var(--upload-h);margin-bottom:16px;display:grid}.upload-slot>.dropzone,.upload-slot>.file-prev{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:var(--upload-h);grid-area:1/1;margin-bottom:0}.upload-slot>.dropzone.is-hidden{display:none}.upload-slot>.file-prev[hidden]{display:none!important}.dropzone,.file-prev{border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .28s var(--ease), background .28s var(--ease), box-shadow .28s var(--ease), color .28s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:0;padding:24px;display:flex}.dropzone:hover,.dropzone.dz-active,.dropzone:focus-visible{border-color:var(--navy);background:var(--surface-sunken);box-shadow:none;outline:none}.file-prev:hover,.file-prev:focus-visible{background:var(--surface-sunken);box-shadow:none;border-color:#0000;outline:none}.dropzone:hover .dz-icon,.dropzone.dz-active .dz-icon,.dropzone:focus-visible .dz-icon{background:var(--navy-strong);color:#fff}.dropzone:hover .dz-title,.dropzone.dz-active .dz-title,.dropzone:focus-visible .dz-title{color:var(--navy-strong)}.dropzone:hover .btn-ghost,.dropzone.dz-active .btn-ghost,.dropzone:focus-visible .btn-ghost{background:var(--navy-strong)}.file-prev{background:var(--surface);z-index:1;border-color:#0000;gap:14px}.file-prev .file-attachment{background:var(--navy);width:100%;min-width:0;transition:background .28s var(--ease);border:none;border-radius:12px;align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.file-prev:hover .file-attachment,.file-prev:focus-visible .file-attachment{background:var(--navy-strong)}.file-prev .file-prev-icon{width:40px;height:40px;color:var(--navy);transition:background .28s var(--ease), color .28s var(--ease);background:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.file-prev:hover .file-prev-icon,.file-prev:focus-visible .file-prev-icon{color:var(--navy-strong);background:#fff}.file-prev .file-prev-meta{flex:auto;min-width:0}.file-prev .file-prev-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;line-height:1.35;overflow:hidden}.file-prev .file-prev-size{color:#ffffffb8;margin-top:2px;font-size:.75rem;line-height:1.3}.file-prev .file-prev-rm{color:#ffffffb8;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.file-prev .file-prev-rm:hover{color:#fff;background:#ffffff24}.file-prev .file-prev-rm:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.file-prev .file-prev-hint{color:var(--ink-muted);text-align:center;margin:0;font-size:.75rem;line-height:1.4}#page-upload.is-dragging .frame{box-shadow:inset 0 2px #ffffff47,0 0 0 2px #f3f4f6b3}#page-upload.is-dragging .dropzone{border-color:var(--navy);background:var(--surface-sunken)}#page-upload.is-dragging .dropzone .dz-icon{background:var(--navy-strong);color:#fff}#page-upload.is-dragging .upload-slot>.dropzone.is-hidden{pointer-events:none;display:flex}#page-upload.is-dragging .upload-slot>.file-prev:not([hidden]){display:none!important}.dz-icon{background:var(--navy);color:#fff;width:44px;height:44px;transition:background .28s var(--ease), color .28s var(--ease);border:none;border-radius:10px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.dz-title{color:var(--ink);transition:color .28s var(--ease);margin-bottom:6px;font-size:1rem;font-weight:700}.dz-sub{color:var(--ink-muted);margin-bottom:16px;font-size:.8125rem}.btn-primary{width:100%;font-family:var(--font);cursor:pointer;color:#fff;background:var(--navy);transition:background .18s var(--ease), transform .18s var(--ease);border:none;border-radius:12px;padding:15px 20px;font-size:1rem;font-weight:700}.btn-primary:hover:not(:disabled){background:var(--navy-strong)}.btn-primary:disabled{cursor:not-allowed;color:#fff;background:#b7c4dc}.btn-primary:focus-visible{outline-offset:3px;outline:2px solid #9ec5ff}.sheet-form .btn-primary{color:var(--navy);background:#fff}.sheet-form .btn-primary:hover:not(:disabled){background:var(--surface-sunken)}.sheet-form .btn-primary:disabled{color:#07153f8c;background:#ffffff6b}.sheet-form .btn-primary.is-loading:disabled{background:var(--navy);color:#fff}.sheet-form .btn-primary:focus-visible{outline-color:#fff}.btn-ghost{font-family:var(--font);background:var(--navy);color:#fff;cursor:pointer;transition:background .28s var(--ease);border:none;border-radius:999px;justify-content:center;align-items:center;padding:9px 16px;font-size:.8125rem;font-weight:700;display:inline-flex}.dropzone .btn-ghost{pointer-events:none}.btn-ghost.btn-ghost--outline{color:var(--ink);background:#fff;border:none}.btn-ghost.btn-ghost--outline:hover{background:var(--sky-soft)}.btn-primary.is-loading{cursor:wait}.btn-run-label{justify-content:center;align-items:baseline;gap:0;min-height:1.25em;display:inline-flex}.btn-run-status{opacity:1;justify-content:center;align-items:baseline;transition:opacity .4s ease-in-out;display:inline-flex}.btn-run-status.is-fading{opacity:0}.btn-run-msg{display:inline-block}.loading-dots{letter-spacing:.02em;justify-content:flex-start;width:1.2em;margin-left:1px;display:inline-flex}.loading-dots span{opacity:.2;animation:1.4s ease-in-out infinite loading-dot}.loading-dots span:nth-child(2){animation-delay:.18s}.loading-dots span:nth-child(3){animation-delay:.36s}@keyframes loading-dot{0%,80%,to{opacity:.2}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-dots span{opacity:1;animation:none}.btn-run-status{transition:none}}.sheet-output{padding:clamp(32px,4vw,48px)}body[data-view=output] .sheet{background:var(--frame);box-shadow:var(--shadow-card);border-radius:calc(var(--radius) + 4px);border:none}.page-head--row{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.page-title{letter-spacing:-.015em;color:var(--navy);text-wrap:balance;margin-bottom:8px;font-size:clamp(1.75rem,2.4vw,2.2rem);font-weight:800;line-height:1.14}.page-sub{color:var(--ink-muted);text-wrap:pretty;max-width:52ch;font-size:1rem;line-height:1.6}#output-meta{flex-direction:column;gap:2px;max-width:none;display:flex}.output-meta-file,.output-meta-count{white-space:nowrap}.output-meta-file{text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.section-label{letter-spacing:-.01em;color:var(--sky-text);margin-bottom:14px;font-size:.8125rem;font-weight:700}.takeaway{background:var(--surface);border-radius:var(--radius);border:none;margin-bottom:28px;padding:24px 26px}.theme-list{flex-direction:column;gap:8px;list-style:none;display:flex}.theme-list .q-point{font-size:1.0625rem;font-weight:600}.questions-panel{margin:0}.questions-panel>.section-label{margin-bottom:14px}.questions{flex-direction:column;gap:12px;display:flex}.q-item{background:var(--surface);border-radius:var(--radius);overflow:hidden}.q-head{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .18s var(--ease);background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:16px;margin:0;padding:18px 22px;display:flex}.q-item.is-open .q-head{padding-bottom:16px}.q-head:hover{background:#07153f08}.q-head:focus-visible{outline:2px solid var(--sky);outline-offset:-2px}.q-head-text{flex:1;min-width:0}.q-title{color:var(--navy);letter-spacing:0;text-wrap:balance;transition:color .18s var(--ease);margin-bottom:8px;font-size:1rem;font-weight:800}.q-head:hover .q-title{color:var(--navy-strong)}.q-summary{color:var(--ink-muted);text-wrap:pretty;max-width:68ch;font-size:.975rem;line-height:1.65}.q-item:not(.is-open) .q-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.q-chevron{width:32px;height:32px;color:var(--ink-muted);transition:transform .28s var(--ease), color .18s var(--ease), background .18s var(--ease);border-radius:8px;flex:none;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.q-head:hover .q-chevron{color:var(--navy);background:#07153f0d}.q-item.is-open .q-chevron{color:var(--navy);background:#07153f0f;transform:rotate(180deg)}.q-detail-panel{transition:grid-template-rows .32s var(--ease);grid-template-rows:0fr;display:grid}.q-item.is-open .q-detail-panel{grid-template-rows:1fr}.q-detail-panel__inner{opacity:0;min-height:0;transition:opacity .22s var(--ease);overflow:hidden}.q-item.is-open .q-detail-panel__inner{opacity:1}.q-detail{flex-direction:column;gap:18px;margin:0;padding:4px 22px 20px;display:flex}.q-group{min-width:0}.q-group-label{letter-spacing:-.01em;color:var(--sky-text);margin:14px 0 10px;font-size:.8125rem;font-weight:700}.q-group:first-child .q-group-label{margin-top:12px}.q-points{flex-direction:column;gap:8px;list-style:none;display:flex}.q-point{text-wrap:pretty;border:none;border-radius:10px;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;font-size:.9375rem;line-height:1.55;display:flex}.q-point--positive{background:var(--positive-bg);color:var(--ink)}.q-point--negative{background:var(--negative-bg);color:var(--ink)}.q-point--empty{background:var(--surface-sunken);color:var(--ink-muted)}.q-point-badge{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;display:inline-flex}.q-point--positive .q-point-badge{background:var(--positive-ink)}.q-point--negative .q-point-badge{background:var(--negative-ink)}.q-point-icon{width:12px;height:12px;display:block}.q-points li .q-point-text:before{content:"“"}.q-points li .q-point-text:after{content:"”"}@media (prefers-reduced-motion:reduce){.q-detail-panel,.q-detail-panel__inner,.q-chevron{transition:none}}.output-footer{background:var(--surface);border-radius:var(--radius);color:var(--navy);letter-spacing:-.03em;justify-content:center;align-items:center;gap:10px;margin-top:12px;padding:14px 20px;font-size:1rem;font-weight:800;display:flex}.toast{z-index:200;background:var(--navy);color:#fff;border-radius:12px;align-items:center;gap:8px;padding:12px 16px;font-size:.875rem;font-weight:600;display:none;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #040e2859}.toast.show{display:flex}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;display:inline-flex}.toast[data-type=success] .toast-icon{color:#4ade80}.toast[data-type=error] .toast-icon{color:#f87171}.suggestions-panel{margin:28px 0}.suggestions-panel>.section-label{margin-bottom:14px}.suggestions-content{flex-direction:column;gap:16px;display:flex}.suggestion-block{background:var(--surface);border-radius:var(--radius);border-left:4px solid var(--sky);padding:20px 22px}.suggestion-block:first-child{background:var(--sky-soft)}.suggestion-subtitle{color:var(--navy);letter-spacing:-.01em;margin-bottom:10px;font-size:.9375rem;font-weight:700}.suggestion-text{color:var(--ink-muted);text-wrap:pretty;font-size:.95rem;line-height:1.6}.suggestion-text-bold{color:var(--navy);margin-bottom:8px;font-size:.95rem;font-weight:700}.recommendations-list{flex-direction:column;gap:12px;list-style:none;display:flex}.recommendation-item{background:var(--surface-sunken);border-left:3px solid var(--sky);border-radius:12px;gap:12px;padding:14px;display:flex}.recommendation-priority{color:#fff;background:var(--sky);text-transform:uppercase;white-space:nowrap;border-radius:6px;flex:none;padding:4px 8px;font-size:.75rem;font-weight:700}.recommendation-content{flex:1;min-width:0}.recommendation-action{color:var(--navy);margin-bottom:8px;font-size:.95rem;font-weight:700}.recommendation-reason{color:var(--ink-muted);text-wrap:pretty;margin-bottom:8px;font-size:.9rem;line-height:1.55}.recommendation-meta{color:var(--ink-muted);flex-wrap:wrap;gap:12px;font-size:.85rem;line-height:1.5;display:flex}.metrics-list,.limitations-list{flex-direction:column;gap:8px;padding-left:0;list-style:none;display:flex}.metrics-list li,.limitations-list li{color:var(--ink);text-wrap:pretty;padding-left:20px;font-size:.95rem;line-height:1.6;position:relative}.metrics-list li:before{content:"✓";color:var(--positive-ink);font-weight:700;position:absolute;left:0}.limitations-list li:before{content:"⚠";color:#f59e0b;position:absolute;left:2px}@media (max-width:900px){.shell--upload{min-height:auto;padding:12px}.frame{--frame-gap:4px;border-radius:calc(12px + var(--frame-gap))}.shell--upload .sheet{min-height:auto}.sheet-body{flex-direction:column}.sheet-intro,.sheet-form{border-radius:12px;flex:auto}.sheet-intro{min-height:auto;padding-top:calc(var(--intro-pad) + 44px)}.intro-copy{max-width:none}.sheet-form{min-height:min(70vh,560px)}.page-head--row{flex-direction:column;align-items:stretch}}
