@import "https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;800;900&display=swap";
:root{--ws-dark-blue:#1d4f91;--ws-gold:#bd8a01;--ws-dark-gray:#3e5364;--ws-strong-blue:#0070c0;--ws-light-blue:#8baddc;--ws-lightest-blue:#a9c0e3;--background:#f4f7fb;--surface:#fff;--surface-soft:#ffffffad;--ink:#202124;--muted:var(--ws-dark-gray);--line:#dbe4f0;--line-soft:#e9eef6;--button:var(--ws-gold);--button-text:#111827;--button-hover:#a67900;--danger:#a33a32;--focus:var(--ws-strong-blue);--category-key:#dbeafe;--category-key-strong:#1d4f91;--key-message-section-background:#dbeafe94;--category-detail:#edf7ef;--category-detail-strong:#2f6f47;--target-section-background:#edf7ef94;--category-context:#edf1f5;--category-context-strong:#3e5364;--category-unknown:#fff1d6;--category-unknown-strong:#8a5a00}*{box-sizing:border-box}body{color:var(--ink);background:0 0;margin:0;font-family:Roboto,Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh}.intro-screen{z-index:100;background:0 0;place-items:center;animation:.9s forwards introFade;display:grid;position:fixed;inset:0}.intro-logo{mix-blend-mode:multiply;object-fit:contain;width:min(320px,70vw);height:auto;animation:.9s forwards introLogo}.intro-active .workspace{opacity:0;pointer-events:none}.workspace{grid-template-columns:52px minmax(0,1fr);gap:18px;width:min(1120px,100vw - 128px);min-height:100vh;margin:0 auto;padding:22px 0 42px;display:grid}.page-header{grid-column:1;padding-top:4px}.brand-logo{mix-blend-mode:multiply;object-fit:contain;width:104px;height:auto}.workspace-main{grid-column:2;align-content:center;min-height:calc(100vh - 64px);display:grid}.landing-panel,.result-panel,.loading-state{width:min(780px,100%);margin:0 auto}.landing-panel{gap:14px;display:grid}.landing-field,.analysis-field{color:var(--muted);letter-spacing:0;gap:7px;font-size:13px;font-weight:800;display:grid}.landing-field{grid-template-columns:120px minmax(0,1fr);align-items:start}.landing-field span,.analysis-field span{padding-top:13px}.landing-field input,.landing-field textarea,.analysis-field textarea,.key-message-input,.breakdown-item textarea{border:1px solid var(--line-soft);background:var(--background);width:100%;color:var(--ink);border-radius:6px;font-weight:400}.landing-field input{min-height:44px;padding:10px 12px}.landing-field textarea{resize:none;min-height:132px;padding:12px;line-height:1.2;overflow:hidden}.analysis-field textarea,.breakdown-item textarea,.nested-detail-input,.key-message-input,.context-input{resize:none;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word;min-height:calc(1lh + 6px);padding:6px 8px;line-height:1.2;overflow:hidden}input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.analysis-field textarea:focus{outline-color:var(--category-detail-strong)}.nested-detail-input:focus{outline-color:var(--ink)}.key-message-input:focus{outline-color:var(--focus)}.context-input:focus{outline-color:var(--ws-dark-gray)}.primary-button,.secondary-button,.icon-button,.icon-action-button{border:1px solid #0000;border-radius:6px;min-height:38px;padding:8px 12px;font-weight:800}.primary-button{background:var(--button);color:var(--button-text)}.primary-button:hover{background:var(--button-hover);color:#fff}.primary-button.compact{min-height:34px;padding:6px 12px}.secondary-button,.icon-button,.icon-action-button{border-color:var(--line);color:var(--ink);background:#ffffffc2}.icon-action-button{width:38px;color:var(--ws-dark-blue);place-items:center;font-size:22px;line-height:1;display:grid}.icon-button.compact{place-items:center;width:24px;min-height:15px;padding:0;font-size:14px;line-height:1;display:grid}.angle-button{background:0 0;border:0;place-items:center;width:18px;height:9px;padding:0;display:grid}.angle-button svg{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px;width:17px;height:17px}.analyze-button{width:fit-content;min-width:118px}.landing-actions{justify-content:flex-end;gap:10px;display:flex}.loading-state{justify-content:center;align-items:center;gap:16px;width:100%;animation:.24s both workspaceFadeIn;display:flex}.loading-quote{gap:12px;max-width:420px;display:grid}.loading-quote p{color:var(--ws-dark-blue);margin:0;font-size:clamp(10px,2.25vw,23px);font-weight:300;line-height:1.06}.loading-quote span{color:var(--muted);font-size:13px;font-weight:400}.lightbulb-loader{aspect-ratio:1;background:0 0;width:min(80px,100%);position:relative}.lightbulb-pen{object-fit:contain;mix-blend-mode:multiply;background:0 0;width:100%;height:100%}.bulb-pulse{mix-blend-mode:multiply;pointer-events:none;background:radial-gradient(circle,#ffe666b8 0 48%,#0000 74%);border-radius:999px;width:70%;height:64%;animation:3.6s ease-in-out infinite bulbGlow;position:absolute;top:-7%;right:0}.result-panel{gap:16px;padding:14px 0 32px;animation:.22s both workspaceFadeIn;display:grid}.source-map-preview{white-space:pre-wrap;border:1px solid var(--line);background:var(--surface-soft);width:100%;max-height:92px;color:var(--ink);text-align:left;border-radius:8px;padding:10px;line-height:1.42;transition:max-height .18s,transform .18s,box-shadow .18s;overflow:hidden}.source-map-preview:not(.source-map-expanded){font-size:7px;line-height:1.1}.source-map-expanded{max-height:520px;overflow:auto;box-shadow:0 18px 44px #1d4f911f}.source-chunk{border-radius:4px;padding:1px 3px}.source-chunk.keyMessage{background:var(--category-key);color:var(--category-key-strong)}.source-chunk.detail{background:var(--category-detail);color:var(--category-detail-strong)}.source-chunk.context{background:var(--category-context);color:var(--category-context-strong)}.source-chunk.unknown{background:var(--category-unknown);color:var(--category-unknown-strong)}.analysis-grid{gap:12px;display:grid}.target-section{background:var(--target-section-background);border-radius:8px;padding:14px}.target-section .analysis-field textarea{background:var(--target-section-background)}.analysis-field{grid-template-columns:120px minmax(0,1fr);align-items:start}.key-message-section,.full-breakdown{border-top:1px solid #1d4f9124;border-radius:8px;gap:10px;padding:14px;display:grid}.key-message-section{background:var(--key-message-section-background);border-top:0}.map-column-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-header-title{align-items:center;gap:10px;min-width:0;display:flex}.section-header-actions{white-space:nowrap;align-items:center;gap:10px;display:flex}.map-column-heading h2,.breakdown-section h3{color:var(--ws-dark-blue);letter-spacing:0;text-transform:uppercase;margin:0;font-size:14px;font-weight:900}.key-message-list,.breakdown-content,.breakdown-section,.breakdown-group{gap:10px;display:grid}.key-message-list{gap:0}.key-message-card{box-shadow:none;background:0 0;border:1px solid #0000;border-radius:0;gap:4px;padding:6px 8px;display:grid;position:relative}.key-message-row{grid-template-columns:20px minmax(0,1fr) max-content;align-items:center;gap:4px;display:grid}.reorder-actions{place-self:center;gap:0;display:grid;transform:translateY(-2px)}.key-message-input{border:1px solid var(--line-soft);min-height:calc(1lh + 8px);color:var(--ws-dark-blue);background:0 0;padding:6px 8px}.detail-toggle-button{color:#000;text-align:left;background:0 0;border:1px solid #0000;justify-self:start;padding:6px 0 6px 2px;font-size:12px;font-weight:400;line-height:1}.section-add-button{color:#000;background:0 0;border:0;place-items:center;width:18px;height:18px;padding:0;font-size:14px;font-weight:400;line-height:1;display:grid}.row-field-shell{min-width:0;position:relative}.row-delete-chip{width:18px;height:18px;color:var(--danger);opacity:0;pointer-events:none;visibility:hidden;background:0 0;border:0;place-items:center;padding:0;font-size:13px;font-weight:400;line-height:1;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.row-field-shell:focus-within .row-delete-chip{opacity:1;pointer-events:auto;visibility:visible}.nested-detail-list{gap:4px;padding-left:24px;display:grid}.nested-detail-input{border:1px solid var(--line-soft);width:100%;color:var(--ink);font:inherit;font-size:inherit;field-sizing:content;background:0 0;border-radius:6px;padding-right:28px;font-weight:400}.context-section{background:#edf1f594;border-radius:8px;gap:10px;padding:14px;display:grid}.context-list{gap:4px;display:grid}.key-message-input,.context-input{border:1px solid var(--line-soft);background:0 0;border-radius:6px;width:100%;padding-right:28px;font-weight:400}.key-message-input{color:var(--ws-dark-blue)}.context-input{color:var(--ink)}.context-row{box-shadow:none;background:0 0;border:1px solid #0000;border-radius:0;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:4px;padding:6px 8px;display:grid;position:relative}.empty-state,.run-meta{color:#3e536494;margin:0;font-size:13px;font-weight:500;line-height:1.45}.error-banner{width:min(780px,100%);color:var(--danger);background:#fff4f2;border:1px solid #e4c3bf;border-radius:8px;margin:0 auto 14px;padding:12px 14px;font-weight:800}@keyframes introFade{0%{opacity:1}72%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes introLogo{0%{opacity:0;transform:scale(.96)}28%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}@keyframes workspaceFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes bulbGlow{0%,to{opacity:.18;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}@media (max-width:900px){.workspace{width:min(100vw - 40px,1120px)}.loading-state{grid-template-columns:1fr}}@media (max-width:760px){.workspace{grid-template-columns:1fr;width:min(100vw - 32px,1120px);padding:16px 0 28px}.page-header,.workspace-main{grid-column:1}.workspace-main{min-height:calc(100vh - 86px)}.brand-logo{width:44px}.landing-field,.analysis-field{grid-template-columns:1fr}.landing-field span,.analysis-field span{padding-top:0}.key-message-row,.context-row{grid-template-columns:minmax(0,1fr)}.reorder-actions{grid-template-columns:repeat(2,minmax(0,30px))}.detail-toggle-button{text-align:left}.nested-detail-list{padding-left:0}}
