@font-face{font-family:'Literata';src:url(/fonts/literata-normal.woff2) format('woff2');
font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Literata';src:url(/fonts/literata-italic.woff2) format('woff2');
font-weight:200 900;font-style:italic;font-display:swap}

:root{--ink:#191d1b;--soft:#5c6661;--green:#17614a;--green-hover:#0e4a38;
--paper:#fcfdfc;--wash:#f1f5f2;--tint:#e6efe9;--hair:#dde4df;
--band:#0e4a38;--band-ink:#f4f8f5;--btn-bg:#fcfdfc;
--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif}
@media(prefers-color-scheme:dark){:root{--ink:#e4e8e5;--soft:#97a29b;
--green:#5cbd97;--green-hover:#7fd4b2;--paper:#131715;--wash:#1a1f1c;
--tint:#1d2a23;--hair:#2a312d;--band:#0d3527;--band-ink:#dcebe2;
--btn-bg:#e4efe8}}

*{box-sizing:border-box;margin:0;padding:0}
html{font-size:19px}
body{font-family:Literata,Charter,Georgia,serif;font-optical-sizing:auto;
line-height:1.55;color:var(--ink);background:var(--paper);
-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wrap{max-width:34rem;margin:0 auto;padding:0 1.2rem}
:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:2px}
a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:.16em}
a:hover{color:var(--green-hover)}

header.site{border-bottom:1px solid var(--hair);margin-bottom:2rem}
header.site .bar{display:flex;align-items:center;justify-content:space-between;
padding:.9rem 1.2rem}
.brand{font-weight:700;text-decoration:none;color:var(--ink);font-size:.95rem}
.brand .mark{color:var(--green)}

.eyebrow{font-family:var(--sans);font-size:.62rem;font-weight:700;
letter-spacing:.14em;text-transform:uppercase;color:var(--soft);margin:0 0 .3rem}
h1{font-size:1.6rem;line-height:1.2;margin:0 0 .8rem;font-weight:700}
h2{font-size:1.05rem;margin:2rem 0 .7rem;font-weight:700}
.lede{margin:0 0 1.4rem}
.soft{color:var(--soft)}
.fine{font-family:var(--sans);font-size:.72rem;color:var(--soft);margin:.9rem 0}

button{font-family:var(--sans);font-size:.8rem;font-weight:600;cursor:pointer;
padding:.55rem 1rem;border:none;border-radius:6px;background:var(--green);
color:var(--band-ink)}
button:hover{background:var(--green-hover)}
button.ghost{background:transparent;color:var(--green);
border:1px solid var(--hair)}
button.ghost:hover{background:var(--wash)}
.apple-btn{background:#000;color:#fff;font-size:.9rem;padding:.7rem 1.4rem;
border-radius:8px}
.apple-btn:hover{background:#222}
@media(prefers-color-scheme:dark){.apple-btn{background:#fff;color:#000}
.apple-btn:hover{background:#ddd}}

.google-slot{margin:0 0 1rem;min-height:44px;max-width:220px}

.statusline{font-family:var(--sans);font-size:.7rem;color:var(--soft);
margin:0 0 1.2rem;min-height:1em}

.stagecard{background:var(--tint);border-radius:10px;padding:1.2rem 1.4rem;
margin:0 0 1.6rem}
.stagecard h1{margin-bottom:.3rem}
.stagecard p{margin:.15rem 0;font-size:.9rem}

.panel{background:var(--wash);border:1px solid var(--hair);border-radius:10px;
padding:1rem 1.2rem;font-family:var(--sans)}
.panel label{display:block;font-size:.72rem;font-weight:600;color:var(--soft);
margin:.7rem 0 .25rem}
.panel label:first-child{margin-top:0}
.panel input[type=text],.panel input[type=number],.panel select{
width:100%;font-family:var(--sans);font-size:.85rem;padding:.5rem .6rem;
border:1px solid var(--hair);border-radius:6px;background:var(--paper);
color:var(--ink)}
.panel .row{display:flex;gap:.8rem;align-items:center;margin-top:.8rem;
flex-wrap:wrap}
.panel .row input[type=range]{flex:1;accent-color:var(--green)}
.panel output{font-size:1.1rem;font-weight:700;min-width:1.6rem;
text-align:center}
.factors label{flex:1;margin:0}
.factors select{margin-top:.25rem}
.factors button{margin-left:auto}

.setrow{display:flex;gap:.6rem;margin-top:.6rem;align-items:flex-end}
.setrow label{flex:1;margin:0}
.setrow input{margin-top:.25rem}
.setrow .del{background:transparent;border:none;color:var(--soft);
font-size:1rem;padding:.4rem}
.setrow .del:hover{color:var(--ink);background:transparent}

.loglist{list-style:none;font-family:var(--sans)}
.loglist li{display:flex;gap:.9rem;align-items:baseline;
padding:.55rem 0;border-bottom:1px solid var(--hair);font-size:.82rem}
.loglist .d{color:var(--soft);font-size:.72rem;white-space:nowrap;
min-width:5.4rem}
.loglist .lvl{font-weight:700;min-width:1.4rem;text-align:center;
border-radius:5px;padding:.05rem .3rem;background:var(--tint)}
.loglist .lvl.hi{background:#7a2e2e;color:#fff}
.loglist .note{color:var(--soft)}

footer.site{border-top:1px solid var(--hair);margin-top:3rem}
footer.site .fine{padding:.4rem 0}
