:root{--ink:#192822;--muted:#64706b;--paper:#f7f5ef;--white:#fff;--green:#245a46;--sage:#dce8df;--gold:#c59b55;--line:#d9ddd8;--danger:#8f332d}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.brand{letter-spacing:.16em;color:var(--green);font-size:.72rem;font-weight:800}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 4vw;display:flex}header p{color:var(--muted);margin:6px 0 0;font-size:.8rem}.save{align-items:center;gap:6px;font-size:.85rem;display:flex}.shell{grid-template-columns:230px minmax(0,760px) 230px;max-width:1280px;min-height:calc(100vh - 132px);margin:auto;display:grid}aside{border-right:1px solid var(--line);padding:32px 22px}.context{border-right:0;border-left:1px solid var(--line)}.score small,.context>small{letter-spacing:.13em;color:var(--muted);font-size:.68rem;font-weight:700}.score strong{float:right}.score div{background:#ddd;height:4px;margin-top:12px}.score div span{background:var(--green);height:100%;transition:width .2s;display:block}nav{gap:6px;margin-top:28px;display:grid}nav button{text-align:left;color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:11px;padding:10px 8px;display:flex}nav button span{border:1px solid #b8c0bc;border-radius:50%;place-items:center;width:25px;height:25px;font-size:.75rem;display:grid}nav button.active{background:var(--sage);color:var(--green);font-weight:700}.aside-actions{gap:4px;margin-top:32px;display:grid}.aside-actions button,.link{color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px;display:flex}.workspace{padding:54px 7%}.eyebrow{letter-spacing:.14em;color:var(--gold);font-size:.72rem;font-weight:800}.workspace h1,.welcome h1{margin:10px 0 12px;font-family:Georgia,serif;font-size:2.4rem;font-weight:500;line-height:1.08}.intro,.lede{color:var(--muted);max-width:640px;font-family:Georgia,serif;font-size:1.05rem;line-height:1.55}.form{gap:20px;margin-top:34px;display:grid}.form>label{gap:7px;font-size:.88rem;font-weight:700;display:grid}.form em{float:right;color:#8a918e;margin-left:8px;font-size:.72rem;font-style:normal;font-weight:400}.form small{color:var(--muted);font-weight:400}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #bac2be;border-radius:6px;padding:12px}textarea{resize:vertical;line-height:1.45}input:focus,textarea:focus,select:focus,button:focus-visible{outline-offset:2px;outline:3px solid #85a99a}.bottom{border-top:1px solid var(--line);justify-content:space-between;margin-top:36px;padding-top:22px;display:flex}.primary,.secondary{border-radius:6px;align-items:center;gap:8px;padding:12px 18px;font-weight:700;display:inline-flex}.primary{background:var(--green);color:#fff;border:1px solid var(--green)}.secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.secondary:disabled{opacity:.4}.alert{border-left:4px solid var(--danger);color:var(--danger);background:#f6e5e1;justify-content:space-between;margin:20px 0;padding:13px;display:flex}.alert button{color:inherit;background:0 0;border:0;font-size:1.2rem}.rating{border:0;margin:0;padding:0}.rating legend{margin-bottom:8px;font-size:.88rem;font-weight:700}.rating>div{gap:7px;display:flex}.rating label input{opacity:0;position:absolute}.rating label span{background:#fff;border:1px solid #b8c0bc;border-radius:5px;place-items:center;width:42px;height:42px;display:grid}.rating input:checked+span{background:var(--green);color:#fff;border-color:var(--green)}.fitTotal{background:var(--sage);grid-template-columns:1fr auto;gap:4px;padding:18px;display:grid}.fitTotal strong{font-family:Georgia,serif;font-size:1.4rem}.fitTotal small{grid-column:1/-1}.proposal{border:1px solid var(--line);background:#fff;margin-top:28px;box-shadow:0 8px 30px #263a2f10}.proposal pre{white-space:pre-wrap;margin:0;padding:32px;font:15px/1.6 Georgia,serif}.approval{border-top:1px solid var(--line);background:#fafafa;padding:20px 28px}.approval button{border:1px solid var(--green);color:var(--green);background:#fff;border-radius:5px;gap:8px;padding:10px 14px;font-weight:700;display:flex}.approval.approved{background:var(--sage)}.approval.approved button{background:var(--green);color:#fff}.approval p{color:var(--muted);margin:10px 0 0;font-size:.8rem}.context h3{font-family:Georgia,serif;font-weight:500}.context dl{gap:6px;display:grid}.context dt{color:var(--muted);margin-top:10px;font-size:.7rem}.context dd{margin:0;font-size:.88rem;font-weight:700}.context p{color:var(--muted);margin-top:30px;font-size:.78rem;line-height:1.5}.app-footer{border-top:1px solid var(--line);height:56px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 4vw;font-size:.7rem;display:flex}.welcome{background:radial-gradient(circle at 90% 15%,#dfeadf 0,transparent 32%),var(--paper);flex-direction:column;justify-content:space-between;min-height:100vh;padding:35px 7vw;display:flex}.welcome section{max-width:760px;margin:9vh auto}.welcome h1{font-size:4.5rem}.welcome .lede{margin-bottom:28px;font-size:1.25rem}.welcome .link{margin-top:10px;display:block}.welcome footer{color:var(--muted);font-size:.75rem}.loading{text-align:center;place-content:center;gap:14px;height:100vh;display:grid}.spinner{border:3px solid var(--sage);border-top-color:var(--green);border-radius:50%;width:28px;height:28px;margin:auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width:950px){.shell{grid-template-columns:190px 1fr}.context{display:none}}@media (max-width:640px){header{height:64px;padding:0 18px}header p{display:none}.shell{display:block}.shell>aside:first-child{border:0;border-bottom:1px solid var(--line);padding:10px 14px;overflow-x:auto}.score,.aside-actions{display:none}nav{width:max-content;margin:0;display:flex}nav button{font-size:.75rem}nav button span{width:22px;height:22px}.workspace{padding:30px 20px 100px}.workspace h1{font-size:2rem}.welcome{padding:25px 22px}.welcome section{margin:5vh 0}.welcome h1{font-size:3rem}.welcome .lede{font-size:1.05rem}.bottom{z-index:2;border-top:1px solid var(--line);background:#fff;margin:0;padding:12px 18px;position:fixed;bottom:0;left:0;right:0}.app-footer{display:none}.proposal pre{padding:20px;font-size:14px}.rating label span{width:39px;height:39px}}
