@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700&family=Outfit:wght@300;400;500;600&display=swap";:root{--bg:#f4efe6;--bg-panel:#fffcf7e0;--paper:#fffdf9;--line:#5f442b29;--text:#4d3a2a;--heading:#271a11;--accent:#b65d2b;--accent-strong:#8f4217;--danger:#8a2f2f;--shadow:0 28px 80px #43261024;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#ffd8a880,#0000 30%),linear-gradient(#f7f1e8 0%,#f3ede3 100%);font-family:Outfit,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}h1,h2,h3,p{margin:0}#app{min-height:100vh}.app-shell{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:24px;width:min(1240px,100% - 32px);margin:0 auto;padding:32px 0 48px;display:grid}.hero-panel,.status-panel,.notes-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px}.hero-panel{overflow:hidden}.template-form{gap:24px;padding:40px;display:grid}.form-copy{gap:14px;display:grid}.form-footnote{color:#4d3a2a7a;letter-spacing:.01em;justify-self:end;margin-top:-6px;font-size:.82rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:.78rem;font-weight:600}h1,h2{color:var(--heading);font-family:Noto Serif SC,serif}h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.15}h2{font-size:1.5rem}.lead{max-width:62ch;font-size:1.02rem}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{border:1px solid var(--line);background:var(--paper);border-radius:20px;gap:10px;padding:18px;display:grid}.field span{color:var(--heading);font-weight:600}.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:14px;padding:12px 14px}.field textarea{resize:vertical;min-height:128px}.field-wide{grid-column:1/-1}.field-file input{border:none;padding:0}.submit-button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-strong));cursor:pointer;border:none;border-radius:999px;width:fit-content;min-width:220px;padding:14px 22px;box-shadow:0 16px 30px #b65d2b47}.submit-button:disabled{cursor:wait;opacity:.7}.form-error,.status-error{color:var(--danger)}.status-column{align-content:start;gap:0;display:grid}.status-panel,.notes-panel{padding:28px}.status-panel{gap:14px;max-height:calc(100vh - 64px);display:grid;position:sticky;top:20px;overflow:hidden}.status-header,.status-meta,.notes-panel{display:grid}.status-header{gap:8px}.status-meta{gap:10px;min-height:0;padding-right:4px;overflow-y:auto}.status-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;gap:8px;padding:16px 18px;display:grid}.status-card h3{color:var(--heading);font-size:1rem}.status-log pre,.step-pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem;line-height:1.6}.step-drawer{border:1px solid var(--line);background:var(--paper);border-radius:16px;transition:box-shadow .25s,transform .25s,border-color .25s;position:relative;overflow:hidden}.step-drawer-done{border-color:#56bf7c3d}.step-drawer-active{background:linear-gradient(#fffdf8fa,#fbf9f3fa) 0 0/100% 100% padding-box padding-box,linear-gradient(120deg,#ffd06ff5,#7be8daf5,#5caffff5,#ffd06ff5) 0 0/220% 220% border-box;border-color:#0000;animation:5.5s linear infinite step-rainbow-flow;box-shadow:0 0 0 1px #ffe0903d,0 12px 30px #74cbff1f,0 6px 22px #ffcc681f}.step-drawer-active:before{content:"";filter:blur(16px);z-index:0;pointer-events:none;opacity:.95;background-color:#0000;background-image:radial-gradient(circle at 12% 28%,#ffd67842,#0000 34%),radial-gradient(circle at 52% 52%,#70e8d633,#0000 42%),radial-gradient(circle at 88% 36%,#66a3ff38,#0000 32%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:160% 160%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:22px;animation:6.2s ease-in-out infinite alternate step-glow-drift;position:absolute;inset:-8px}.step-drawer>*{z-index:1;position:relative}.step-summary{cursor:pointer;color:var(--heading);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:.95rem;font-weight:600;list-style:none;transition:background-color .2s,color .2s,box-shadow .2s;display:flex}.step-summary::-webkit-details-marker{display:none}.step-title-wrap{align-items:center;gap:12px;min-width:0;display:inline-flex}.step-label{transition:opacity .2s,text-decoration-color .2s}.step-label-done{opacity:.74;-webkit-text-decoration:line-through #4d3a2a8c;text-decoration:line-through #4d3a2a8c;text-decoration-thickness:1.5px}.step-summary-pending{background:0 0}.step-summary-done{background:#56bf7c14}.step-summary-active{color:#2d2016;background:linear-gradient(120deg,#fff6d294,#dcf5ee99,#dbeaffa3)}.step-circle{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;font-weight:700;line-height:1;display:inline-flex}.step-circle-pending{color:#2f2218f5;background:#2f221824;border:1px solid #2f221866;box-shadow:inset 0 0 0 1px #ffffff14}.step-circle-done{color:#fff;background:linear-gradient(135deg,#56bf7c,#2d8b56);box-shadow:0 10px 24px #2d8b563d}.step-circle-active{color:#fff;background:linear-gradient(120deg,#ff8a5c,#ffd76a,#57d6c3,#6b8cff,#ff8a5c) 0 0/280% 280%;border:1px solid #ffffff38;animation:3.8s linear infinite step-rainbow-flow;box-shadow:0 8px 18px #6b8cff2e,0 0 18px #ffd47424}.step-summary:after{content:"";border-bottom:2px solid #4d3a2a8c;border-right:2px solid #4d3a2a8c;flex-shrink:0;width:10px;height:10px;margin-left:auto;transition:transform .2s;transform:rotate(45deg)}.step-drawer[open] .step-summary:after{transform:rotate(225deg)}.step-body{border-top:1px solid var(--line);gap:10px;max-height:200px;padding:12px 14px;display:grid;overflow-y:auto}.step-empty{color:#4d3a2ab8;font-size:.9rem}.status-error{font-size:.92rem}@keyframes step-rainbow-flow{0%{background-position:0%}to{background-position:100%}}@keyframes step-glow-drift{0%{opacity:.82;background-position:0 20%;transform:scale(.985)}50%{opacity:1;background-position:55% 55%;transform:scale(1)}to{opacity:.9;background-position:100% 80%;transform:scale(1.015)}}@media (width<=980px){.app-shell{grid-template-columns:1fr;width:min(100%,100% - 20px);padding:16px 0 28px}.template-form,.status-panel{padding:22px}.field-grid{grid-template-columns:1fr}}
