:root{--canvas:#f3f5f1;--paper:#fff;--ink:#15231f;--muted:#596761;--line:#d7ddd8;--green:#176b4d;--green-dark:#0f5139;--red:#b42318;--red-soft:#fef0ed;--shadow:0 14px 34px #15231f14}*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-height:100vh;margin:0}a{color:inherit}button,input{font:inherit}:focus-visible{outline-offset:3px;outline:3px solid #176b4d59}.shell{width:min(980px,100% - 40px);margin:0 auto;padding:34px 0 70px}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-bottom:24px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:13px;font-weight:760;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--green);border-radius:10px;place-items:center;width:34px;height:34px;font-size:13px;display:grid}.user-actions{color:var(--muted);align-items:center;gap:16px;font-size:14px;display:flex}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;font-weight:700}.hero{padding:72px 0 38px}.kicker{color:var(--green-dark);margin:0 0 10px;font-weight:760}.hero h1,.placeholder h1{letter-spacing:-.04em;max-width:760px;margin:0;font-size:clamp(40px,7vw,72px);line-height:.98}.hero p{max-width:62ch;color:var(--muted);font-size:17px}.directory{background:var(--paper);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.calculator-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:24px;padding:26px 28px;text-decoration:none;transition:background .16s;display:grid}.calculator-row:first-child{border-top:0}.calculator-row:hover{background:#f8faf7}.calculator-row h2{letter-spacing:-.025em;margin:0 0 5px;font-size:24px}.calculator-row p{color:var(--muted);margin:0}.open{background:var(--green);color:#fff;border-radius:10px;align-items:center;min-height:42px;padding:0 15px;font-weight:730;display:inline-flex}.empty{padding:44px 28px}.empty h2{margin:0 0 8px}.empty p{color:var(--muted);margin:0}.auth-page{grid-template-columns:minmax(280px,1fr) minmax(420px,560px);min-height:100vh;display:grid}.auth-context{background:var(--ink);color:#eef5f1;flex-direction:column;justify-content:space-between;padding:clamp(36px,7vw,96px);display:flex}.auth-context h1{letter-spacing:-.04em;max-width:680px;margin:0;font-size:clamp(44px,7vw,84px);line-height:.94}.auth-context p{color:#bfcac5;max-width:55ch;line-height:1.6}.auth-form-wrap{place-items:center;padding:32px;display:grid}.auth-card{width:min(100%,410px)}.auth-card h2{margin:0;font-size:28px}.muted{color:var(--muted)}.form{gap:20px;margin-top:30px;display:grid}.field{gap:8px;display:grid}.field label{font-size:13px;font-weight:740}.field input{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #bcc6c0;border-radius:10px;padding:10px 12px}.field input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #176b4d1f}.button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;min-height:46px;padding:0 17px;font-weight:720;text-decoration:none;display:inline-flex}.button:hover{background:var(--green-dark)}.button:disabled{cursor:not-allowed;opacity:.55}.notice{background:var(--red-soft);color:var(--red);border-radius:10px;padding:12px 14px;font-size:14px}.placeholder{align-content:center;min-height:calc(100vh - 120px);display:grid}.placeholder p{max-width:56ch;color:var(--muted);font-size:18px;line-height:1.6}.back{color:var(--green-dark);margin-bottom:30px;font-weight:700;display:inline-block}.denied{text-align:center;place-items:center;min-height:100vh;padding:32px;display:grid}.denied h1{letter-spacing:-.04em;font-size:clamp(36px,6vw,64px)}.denied p{color:var(--muted)}@media (max-width:760px){.auth-page{grid-template-columns:1fr}.auth-context{min-height:250px;padding:36px}.auth-context p{display:none}.auth-form-wrap{padding:48px 24px}.shell{width:min(100% - 24px,980px)}.user-actions span{display:none}.hero{padding-top:48px}.calculator-row{grid-template-columns:1fr;padding:22px}.open{justify-self:start}.auth-context h1{font-size:46px}}
