:root{color-scheme:light;--bg:#f4f1ea;--paper:#fffdf8;--ink:#1e2525;--muted:#625e55;--line:#ded7c9;--blue:#276d94;--orange:#b35c21;--green:#467750}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.topbar{max-width:1200px;margin:auto;padding:22px 28px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.topbar a{text-decoration:none}.topbar>span{font-weight:750}.brand-dot{color:var(--orange)}main{width:min(1100px,calc(100% - 48px));margin:auto}.hero{padding:62px 0 34px;max-width:850px}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:750;text-transform:uppercase;color:var(--muted);margin:0 0 10px}h1{font-size:clamp(2.6rem,6vw,4.7rem);line-height:1.05;letter-spacing:-.055em;margin:0 0 24px;font-weight:650}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.intro{font-size:1.15rem;max-width:700px;color:var(--muted)}h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.2;letter-spacing:-.03em;margin:0}h3{margin:0 0 16px;font-size:1.2rem}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.total-note{white-space:nowrap;background:#e8ede2;padding:8px 14px;border-radius:30px;font-size:.85rem;font-weight:650}.workspace{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:32px}.help,.figure-note{color:var(--muted);font-size:.9rem}.help{max-width:800px;margin:18px 0 28px}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}fieldset{margin:0;padding:0;border:0;min-width:0}legend{font-weight:750;font-size:1.2rem;padding:0;margin-bottom:12px}legend span,.pyramid-panel h3 span{display:block;font-weight:400;color:var(--muted);font-size:.85rem;letter-spacing:0}.allocation{padding:16px 0;border-top:1px solid var(--line)}.blue{--category:var(--blue)}.orange{--category:var(--orange)}.green{--category:var(--green)}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.control-heading label{font-weight:700}.control-heading label>span{font-weight:400;color:var(--muted);font-size:.85rem;display:block;margin-left:21px}.swatch{display:inline-block;background:var(--category);width:10px;height:10px;border-radius:50%;margin-right:10px;flex-shrink:0}.number-wrap{display:flex;align-items:center;gap:5px}.number-wrap input{width:78px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums}.allocation p{color:var(--muted);font-size:.8rem;margin:6px 0}.allocation input[type=range]{width:100%;accent-color:var(--category);height:32px;margin:0;cursor:pointer}.results{padding:42px 0}.pyramid-panel h3{text-align:center;margin:24px 0 6px;letter-spacing:.05em}.pyramid{position:relative;height:410px;max-width:440px;margin:auto}.pyramid-shape{position:absolute;inset:0;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(to bottom,#cfe5f0 0 46%,transparent 46% 47%,#f4ddc8 47% 72%,transparent 72% 73%,#d9e8d6 73% 100%)}.pyramid-level{position:absolute;left:0;right:0;text-align:center;display:flex;align-items:center;flex-direction:column;gap:1px}.level-0{top:109px}.level-1{top:211px}.level-2{top:317px}.pyramid-level strong{font-size:1.02rem}.level-name{font-size:.8rem}.score{font-variant-numeric:tabular-nums;display:flex;gap:8px;align-items:center;font-size:1.4rem;font-weight:750}.delta{font-size:.78rem;font-weight:650}.figure-note{text-align:center;max-width:740px;margin:22px auto}.movement{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.flow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}.flow>span{display:flex;align-items:center}.flow strong{margin-left:auto;font-variant-numeric:tabular-nums}.movement>p{font-size:.9rem;color:var(--muted);margin-bottom:0}.reflection{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:32px;margin-bottom:32px}.reflection label{display:block;margin:22px 0 10px}.reflection textarea{width:100%;resize:vertical;min-height:120px;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--paper);color:var(--ink)}.footer-actions{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:16px}.footer-actions span{font-size:.8rem;color:var(--muted)}button{border:1px solid var(--ink);border-radius:30px;padding:12px 20px;background:var(--ink);color:var(--paper);cursor:pointer;font-weight:650;flex-shrink:0}.site-footer{max-width:1100px;margin:0 auto;padding:10px 24px 36px;display:flex;gap:24px;justify-content:space-between;color:var(--muted);font-size:.8rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:700px){main{width:calc(100% - 28px)}.topbar{padding:18px 16px;font-size:.85rem}.hero{padding:38px 4px 22px}.workspace,.reflection{padding:22px 18px;border-radius:18px}.two-columns{grid-template-columns:minmax(0,1fr);gap:24px}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.total-note{font-size:.8rem}.footer-actions,.site-footer{align-items:flex-start;flex-direction:column}.flow{gap:8px;font-size:.9rem}.flow strong{margin-left:0;flex-basis:100%}.pyramid{max-width:390px}.figure-note{text-align:left}.score{font-size:1.2rem}.delta{font-size:.75rem}}
@media print{body{background:white;font-size:11pt}.topbar,.workspace,.footer-actions,.site-footer{display:none}main{width:100%}.hero{padding:0}.hero h1{font-size:28pt}.hero .intro{font-size:11pt}.results{padding:12px 0}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pyramid{height:350px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.level-0{top:85px}.level-1{top:178px}.level-2{top:267px}.score{font-size:15pt}.reflection{break-inside:avoid;padding:16px;margin:12px 0;border-radius:0}.reflection textarea{height:auto;field-sizing:content;min-height:90px}.figure-note{font-size:9pt}.movement{margin-top:12px;padding-top:12px}.flow strong{flex-basis:auto;margin-left:auto}}
