:root{--deep:#211426;--plum:#40203F;--berry:#7B285D;--magenta:#C44772;--apricot:#F08A62;--peach:#FFB07C;--cream:#FFF0DF;--ivory:#FFF9F1;--ink:#211426;--ink-soft:#6E5566;--line:#EEDDD2;--onD:#FFF9F1;--onDs:rgba(255,249,241,.62);--onDl:rgba(255,249,241,.16);--d:"Fraunces",Georgia,serif;--b:"Source Serif 4",Georgia,serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}body{font-family:var(--b);color:var(--ink);line-height:1.6;background:var(--deep);font-variant-numeric:tabular-nums lining-nums}#root{max-width:600px;margin:0 auto;background:var(--ivory);min-height:100vh}button,input,select,textarea{font-family:var(--b);font-size:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit}:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}.d{font-family:var(--d)}.pad{padding:34px 26px}.deep{background:var(--deep);color:var(--onD)}.deep p,.deep .sm,.deep .xs{color:var(--onDs)}.cream{background:var(--cream)}.lbl{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--magenta)}.bw{display:flex;justify-content:space-between;align-items:baseline}h1{font-family:var(--d);font-size:37px;line-height:1.08;font-weight:400;letter-spacing:-.022em}h2{font-family:var(--d);font-size:26px;line-height:1.16;font-weight:400;letter-spacing:-.015em}h3{font-family:var(--d);font-size:19px;font-weight:600;letter-spacing:-.01em}p{font-size:16px;line-height:1.68;color:var(--ink-soft)}.sm{font-size:14px;line-height:1.62;color:var(--ink-soft)}.xs{font-size:12.5px;line-height:1.6;color:var(--ink-soft)}.stat{font-family:var(--d);font-weight:300;letter-spacing:-.035em;line-height:.88}.wm{font-family:var(--d);font-weight:700;letter-spacing:-.03em}.wm i{font-weight:300;font-style:italic;color:var(--magenta)}.wm.on-deep i{color:var(--peach)}.day{display:flex;gap:2px;height:58px}.day i{flex:1}.tick{padding:15px 0;border-bottom:1px solid var(--line)}.bar{height:3px;background:var(--line);margin-top:9px;overflow:hidden}.bar i{display:block;height:100%;transition:width .6s ease-out}.btn{display:block;width:100%;text-align:center;padding:15px;font-size:15px;font-weight:600;border-radius:2px;margin-top:10px}.btn.p{background:var(--deep);color:var(--onD)}.btn.a{background:var(--apricot);color:var(--deep)}.btn.g{background:transparent;color:var(--deep);border:1px solid var(--deep)}.btn.dk{background:transparent;color:var(--onD);border:1px solid var(--onDl)}.btn:disabled{opacity:.4;cursor:not-allowed}.card{background:var(--cream);border:1px solid var(--line);padding:20px}.f{margin-bottom:15px}.f label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--ink-soft);margin-bottom:6px}.f input,.f select{width:100%;padding:12px;border:1px solid var(--line);background:var(--ivory);border-radius:2px}.opt{padding:10px 14px;font-size:14px;border:1px solid var(--line);border-radius:2px;color:var(--ink-soft);text-align:left;width:100%;margin-bottom:6px;transition:all .12s}.opt.on{background:var(--berry);color:var(--onD);border-color:var(--berry)}.err{background:#fbe6e6;border-left:3px solid var(--magenta);padding:12px 14px;font-size:14px;color:var(--berry);margin-bottom:14px}.center{text-align:center}.mode-bar{background:var(--plum);color:var(--onD);padding:9px 26px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;display:flex;justify-content:space-between;align-items:center}.qr svg{width:190px;height:190px}.err{color:var(--magenta);font-size:14px}.rule-top{border-top:1px solid var(--line)}.row-between{display:flex;justify-content:space-between;align-items:baseline}.mono{font-family:"Source Serif 4",Georgia,serif;font-variant-numeric:tabular-nums}.print-sheet{max-width:720px;margin:0 auto;padding:30px 26px;background:#fff}.print-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:2px solid var(--deep)}.print-hero{display:flex;gap:40px;margin-top:24px}.print-table{width:100%;border-collapse:collapse;margin-top:12px}.print-table td{padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;text-transform:capitalize}.print-foot{margin-top:34px;padding-top:14px;border-top:1px solid var(--line);font-size:10.5px;line-height:1.6;color:var(--ink-soft)}@media print{.no-print{display:none!important}body{background:#fff}.print-sheet{max-width:none;padding:0}.print-hero,.print-table tr{break-inside:avoid}h3{break-after:avoid}@page{margin:16mm}}
