@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;600;700;800&family=Instrument+Serif:ital@0;1&display=swap');
:root{--ink:#0A0E1A;--spark:#00D4A4;--paper:#F5F1E8;--signal:#FFB81C;--white:#fff;--muted:#606675;--line:#d8d4ca;--danger:#a12b3b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Geist,system-ui,sans-serif;line-height:1.55}.hero{background:var(--ink);color:#fff;padding:1.1rem max(1.2rem,calc((100vw - 1100px)/2)) 4.5rem}.hero nav{display:flex;justify-content:space-between;gap:1rem}.hero a{color:var(--spark);font-weight:700;text-decoration:none}.hero-copy{max-width:850px;margin-top:4rem}.eyebrow{font-size:.78rem;letter-spacing:.16em;font-weight:800;color:var(--spark);margin:0 0 .7rem}.eyebrow.dark{color:#08765f}h1{font:400 clamp(3rem,8vw,6.6rem)/.9 'Instrument Serif',serif;letter-spacing:-.035em;margin:.25rem 0 1.5rem}.hero-copy>p:last-child{font-size:1.15rem;max-width:720px;color:#d9dde6}main{width:min(1100px,calc(100% - 2rem));margin:-2.5rem auto 4rem}.promo{background:var(--spark);display:grid;grid-template-columns:1fr 1.15fr;gap:2rem;padding:2rem;border-radius:24px;box-shadow:0 18px 45px #0a0e1a20}.promo h2,.panel h2{font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.1;margin:0 0 .55rem}.video{aspect-ratio:16/9;background:#000;border-radius:15px;overflow:hidden}.video iframe{width:100%;height:100%;border:0}.notice{margin:1.2rem 0;background:#fff3cf;border-left:5px solid var(--signal);padding:1rem 1.2rem;border-radius:10px}.panel{background:#fff;margin-top:1.2rem;padding:clamp(1.2rem,4vw,2.5rem);border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 30px #0a0e1a0b}.section-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.section-head.compact{margin-top:2.4rem}.section-head>span{font:400 2rem/1 'Instrument Serif';color:#08765f}.section-head p{margin:0;color:var(--muted)}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}label{font-weight:700;display:block;margin-bottom:1rem}small{font-weight:400;color:var(--muted)}input,textarea,select{display:block;width:100%;margin-top:.4rem;border:1px solid #aaa79f;border-radius:10px;padding:.8rem;font:inherit;color:var(--ink);background:#fff}textarea{min-height:95px;resize:vertical}input:focus,textarea:focus,button:focus{outline:3px solid #00d4a455;outline-offset:2px}.weights{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem}.weight{background:#f3f4f1;padding:.85rem;border-radius:12px}.weight label{font-size:.85rem;margin:0}.weight input{padding:.45rem}.total{font-weight:800}.total.invalid{color:var(--danger)}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}button{border:0;border-radius:999px;padding:.78rem 1.1rem;font:700 .95rem Geist;cursor:pointer}.primary{background:var(--ink);color:#fff}.secondary{background:#e8ebe7;color:var(--ink)}.danger{background:#f8dde1;color:var(--danger)}.hidden{display:none!important}.protocol{background:#eefbf7;border:1px solid #b7e8da;border-radius:14px;padding:1rem 1.2rem;margin-bottom:1.2rem}.protocol ol{margin:.5rem 0}.matrix-wrap{overflow-x:auto}.matrix{border-collapse:collapse;width:100%;min-width:760px}.matrix th,.matrix td{border:1px solid var(--line);padding:.7rem;text-align:left;vertical-align:top}.matrix th{background:var(--ink);color:#fff}.matrix input[type=number]{min-width:72px;margin:0}.matrix textarea{min-width:190px;min-height:76px;margin:0}.redflag{display:flex;gap:.45rem;font-size:.82rem;font-weight:600;margin-top:.6rem}.redflag input{width:auto;margin:.15rem 0}.result{margin-top:1.4rem;padding:1.3rem;border-radius:16px;background:var(--ink);color:#fff}.result h3{font:400 2.1rem 'Instrument Serif';margin:0 0 .5rem;color:var(--spark)}.result table{width:100%;border-collapse:collapse}.result td{padding:.45rem;border-bottom:1px solid #ffffff2e}.output-actions{border-top:1px solid var(--line);padding-top:1.2rem}footer{background:var(--ink);color:#cfd3dc;padding:2rem max(1.2rem,calc((100vw - 1100px)/2));display:flex;gap:1rem;justify-content:space-between}footer strong{color:var(--spark)}@media(max-width:800px){.promo,.grid.two,.grid.three{grid-template-columns:1fr}.weights{grid-template-columns:repeat(2,1fr)}.hero-copy{margin-top:2.5rem}footer{flex-direction:column}}@media print{.hero nav,.promo,.notice,.actions,footer{display:none}.hero{padding:1rem;background:#fff;color:#000}.hero-copy>p:last-child{color:#000}main{margin:0 auto}.panel{box-shadow:none}.hidden{display:none!important}}
