:root{--bg:#f7f5f0;--paper:#fffdf9;--cream:#eee9dd;--dark:#20392f;--green:#244c3e;--muted:#68756f;--gold:#ad8a51;--line:#e5e7dd;--shadow:0 18px 55px rgba(37,57,47,.075);--red:#a44a32;--radius:18px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--dark)}*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c5a875;outline-offset:2px}a{color:inherit}h1,h2,h3,p{margin-top:0}.site{max-width:1380px;margin:auto;padding:0 35px}.topbar{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e2e5dc}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.monogram{height:47px;width:47px;border:1px solid #c6ae7d;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:21px;color:#b08f57}.brand-lines{display:flex;flex-direction:column;gap:1px}.brand-lines strong{font-size:12px;letter-spacing:2.1px}.brand-lines small{font-size:11px;letter-spacing:1px;color:#708079}.toplink{text-decoration:none;color:var(--green);font-size:13px;font-weight:700;border-bottom:1px solid #b5b99f;padding-bottom:4px}.hero{min-height:323px;display:grid;grid-template-columns:1fr 255px;gap:36px;padding:45px 0 30px}.eyebrow,.section-nr{font-weight:700;font-size:11px;letter-spacing:2px;color:var(--gold)}.eyebrow{display:flex;align-items:center;gap:12px}.gold-star{font-size:20px}.edition{border-left:1px solid #d7cec0;padding-left:12px;color:#7b8a80}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,5.7vw,83px);font-weight:400;letter-spacing:-3.6px;line-height:1.1;margin:16px 0}.hero h1 em{font-weight:400;color:#a88754}.period{color:#b49a6c}.hero p{font-size:16px;line-height:1.75;max-width:690px;color:#65736b;margin-bottom:22px}.hero-pills{display:flex;flex-wrap:wrap;gap:9px}.hero-pills span{font-size:11px;letter-spacing:.4px;color:#67786c;padding:6px 12px;border:1px solid #dbe1d6;border-radius:100px;background:#fdfdf8}.hero-side{border-radius:125px 125px 18px 18px;background:radial-gradient(circle at 50% 40%,#718c79 0,#314f40 42%,#17382e 100%);position:relative;min-height:250px;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;color:#ded5be}.hero-side:before,.hero-side:after{content:"";border:1px solid #a3b59d4f;border-radius:50%;width:160px;height:160px;position:absolute;top:25px;left:calc(50% - 80px)}.hero-side:after{width:115px;height:115px;top:47px;left:calc(50% - 57px)}.big-drop{font-size:55px;font-family:Georgia,serif;color:#e9d8af;opacity:.9;z-index:1}.side-label{font-size:9px;letter-spacing:2px;margin-top:9px;z-index:1}.side-bar{height:1px;background:#d5ccad55;width:64%;margin:26px 0 13px}.side-coord{font-size:8px;letter-spacing:2px;color:#cbd3c6}.app-intro{display:flex;justify-content:space-between;gap:35px;align-items:end;margin:14px 0 20px}.app-intro h2,.learning h2,.records h2,.tools h2{font-family:Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-.7px;margin:5px 0 0}.app-intro p{max-width:470px;color:var(--muted);font-size:13px;margin:0}.mode-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:17px}.mode-tab{border:1px solid #e0e5dc;border-radius:14px;background:#fffefa;padding:17px 14px;min-height:88px;display:flex;align-items:center;gap:12px;text-align:left;color:#374c40;transition:background .15s,box-shadow .15s}.mode-tab.active{background:var(--green);color:white;border-color:var(--green);box-shadow:var(--shadow)}.tab-number{width:33px;height:33px;flex:none;border-radius:50%;border:1px solid #b7c9bb6b;display:grid;place-items:center;font-size:12px;color:#ad9368}.mode-tab.active .tab-number{color:#e9d5aa;border-color:#a9bda5}.mode-tab b{font-size:13px;display:block}.mode-tab small{display:block;font-size:10px;opacity:.72;margin-top:4px}.workspace{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:17px;align-items:start}.form-panel,.output-panel{background:var(--paper);border:1px solid #e9e8df;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.panel-heading,.output-top{display:flex;justify-content:space-between;gap:15px}.panel-heading h2,.output-panel h2{font-family:Georgia,serif;font-size:29px;line-height:1.25;font-weight:400;margin:7px 0}.panel-heading .subtle{font-size:12px;color:#849089;margin:0 0 24px}.panel-icon{width:50px;height:50px;border-radius:50%;background:#e9f0e9;color:#547b62;font-size:26px;display:grid;place-items:center}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 14px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span:first-child{font-size:12px;color:#3c5648;font-weight:700}.field.full{grid-column:1/-1}.optional{color:#8e9b93;font-weight:400}input,select,textarea{border:1px solid #dbe2d7;background:#fff;border-radius:9px;min-height:43px;width:100%;padding:10px 12px;color:#2b4035;outline:none}textarea{min-height:66px;resize:vertical}.unit-input{display:flex;border:1px solid #dbe2d7;background:white;border-radius:9px;overflow:hidden}.unit-input input{border:none;background:transparent;min-width:0;flex:1}.unit-input>span{padding:11px 14px;background:#f2f5ef;color:#77877c;border-left:1px solid #dbe2d7;font-size:12px;display:grid;place-items:center}.field-hint{font-size:11px;color:#89938c;line-height:1.45}.presets{display:flex;gap:6px;flex-wrap:wrap}.presets button{border:1px solid #dce3d9;border-radius:7px;background:#f8f9f5;color:#5e7466;padding:7px 9px;font-size:11px}.presets button.selected{background:#e9f1e7;border-color:#a4b9a1;color:#2e664d;font-weight:700}.blendrows{display:grid;gap:7px}.blendrow{display:grid;grid-template-columns:1fr 100px;gap:10px}.blend-total{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.blend-total strong{font-size:13px;color:var(--green)}.blend-total.bad strong{color:var(--red)}.serial-table{border:1px solid #e6e9e0;border-radius:10px;overflow:hidden}.serial-head,.serial-row{display:grid;grid-template-columns:.5fr .8fr .8fr 1.8fr;align-items:center;gap:8px;padding:8px 11px}.serial-head{font-size:11px;color:var(--muted);background:#eff3ec}.serial-row{border-top:1px solid #e4e9e0;font-size:11px}.serial-row input{min-height:37px;padding:7px 8px}.serial-controls{display:flex;gap:9px}.tiny-btn{border:1px solid #cbd8c9;background:#f5f7f0;color:#41654c;border-radius:7px;font-size:11px;padding:7px 11px}.form-actions{display:flex;gap:10px;margin:25px 0 17px}.btn{border-radius:10px;padding:12px 15px;font-size:12px;font-weight:700;border:1px solid #d0d8cc;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;white-space:normal}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.ghost{color:var(--green)}.btn:disabled{opacity:.4;cursor:not-allowed}.form-actions .primary{flex:1}.tip{padding:14px;background:#f1f5ec;border-radius:11px;display:flex;gap:10px}.tip-icon{flex:none;display:grid;place-items:center;border:1px solid #bbcfbc;border-radius:50%;height:20px;width:20px;font:italic 13px Georgia}.tip div{display:grid;gap:2px;font-size:11px;color:#708278}.tip b{color:#42604b;font-size:12px}.status{display:inline-flex;gap:7px;align-items:center;font-size:10px;font-weight:700;white-space:nowrap}.status.success{color:#3f8058}.status.error{color:#a34b36}.status-dot{width:7px;height:7px;background:currentColor;border-radius:50%}.output-panel h2{font-size:31px;margin:8px 0 22px}.result-highlight{padding:21px 20px;border-radius:13px;background:#eaf0e7;display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.result-highlight>span{color:#536d58;font-size:11px;font-weight:700}.result-highlight .result-number{display:flex;align-items:baseline;gap:7px}.result-number strong{font-family:Georgia,serif;color:#26513c;line-height:1.2;font-size:43px;font-weight:400}.result-number>span{font-size:15px;color:#60826a}.result-highlight small{color:#879989;font-size:11px}.result-highlight.secondary{background:#f4f1e8}.result-highlight.secondary .result-number strong{color:#957242}.result-highlight.secondary>span{color:#8a744f}.totals{padding:17px 0;border-bottom:1px solid #e4e8dd;border-top:1px solid #e4e8dd;margin:18px 0}.totals>div{display:flex;justify-content:space-between;font-size:12px;padding:5px 1px}.totals span{color:#78847b}.totals strong{color:#345744}.composition-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.composition-title h3{margin:0;font-family:Georgia,serif;font-size:20px;font-weight:400}.composition-title span{font-size:10px;color:#88948a}.composition-bar{height:16px;border-radius:30px;overflow:hidden;display:flex;background:#e9e6da}.composition-bar>span{height:100%;min-width:0}.composition-legend{margin-top:13px;display:grid;gap:9px}.legend-item{display:grid;grid-template-columns:10px 1fr auto auto;align-items:center;gap:9px;font-size:11px}.legend-item .swatch{width:9px;height:9px;border-radius:3px}.legend-item strong{font-variant-numeric:tabular-nums}.legend-item small{color:#929c95}.warning-area{display:grid;gap:8px}.warning{padding:11px 12px;background:#faf2e4;border:1px solid #f1dfbe;border-radius:9px;color:#805c34;font-size:11px}.result-actions{margin-top:19px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.result-actions button{font-size:11px;padding:11px 7px}.fine-print{font-size:10px;color:#9aa39a;line-height:1.7;margin:18px 0 0}.error-box{padding:16px;border:1px solid #e4baa7;border-radius:10px;background:#fff4ed;color:#9c4a31;font-size:13px;margin:15px 0}.hidden{display:none!important}.serial-result-table{border:1px solid #e4e8de;border-radius:9px;overflow:hidden;margin-top:16px}.serial-result-row{display:grid;grid-template-columns:54px 1fr 1fr 1fr;gap:6px;padding:9px 6px;font-size:10px;border-bottom:1px solid #eaece5}.serial-result-row:last-child{border-bottom:0}.serial-result-head{font-weight:700;background:#eef3e9;color:#45634b}.serial-result-row span{text-align:right}.serial-result-row span:first-child{text-align:left}.learning{margin:80px 0 60px}.learning-header{text-align:center;max-width:660px;margin:0 auto 28px}.learning-header p{color:#7e8b80;font-size:13px;margin:10px 0}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.learning details{background:#fff;border:1px solid #e2e7db;border-radius:12px;padding:19px;min-height:108px}.learning summary{font-size:13px;font-weight:700;cursor:pointer;color:#395740}.learning details p{font-size:12px;color:#708071;line-height:1.8;margin:12px 0 0}.records{background:#f0eee6;border-radius:18px;padding:30px;margin:0 0 65px}.records-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.records-heading p{font-size:12px;color:var(--muted);margin:6px 0}.history-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}.empty-history{color:var(--muted);font-size:13px}.history-item{padding:15px;background:#fffdf8;border:1px solid #dfdfd4;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:15px}.history-item h3{font-size:13px;margin:0}.history-item p{font-size:10px;color:#89968e;margin:3px 0}.history-item button{border:1px solid #d9e2d6;background:#f8fbf5;border-radius:7px;padding:5px 8px;font-size:11px;color:#4f6953}.history-item .actions{display:flex;gap:6px}.tools{margin-bottom:65px}.tools-links{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.tools-links a{display:flex;align-items:center;gap:14px;text-decoration:none;padding:21px;border-radius:12px;border:1px solid #dce1d6;background:#fff;font-size:13px}.tools-links a span{color:#b0a17d;font-size:12px}.tools-links a i{margin-left:auto;font-size:22px;font-style:normal;color:#b4a06f}footer{background:#233d32;color:#f7f4e7;padding:34px 39px;border-radius:17px 17px 0 0;display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}footer .foot-brand{font-size:11px;font-weight:800;letter-spacing:2px}footer .foot-brand small{display:block;font-size:11px;letter-spacing:.3px;font-weight:400;margin-top:6px;color:#bbc7bd}footer a{background:#d1b376;color:#22392e;padding:13px 17px;border-radius:9px;text-decoration:none;font-weight:700;font-size:12px}footer p{font-size:10px;color:#b6c5b8;line-height:1.7;flex-basis:100%;max-width:800px;margin:0}.print-only{display:none}.text-empty{font-size:11px;color:#7f8a80}.screen-only{display:block}
@media(max-width:1050px){.site{padding:0 20px}.workspace{grid-template-columns:1fr 1fr}.form-panel,.output-panel{padding:19px}.hero{grid-template-columns:1fr 210px}.mode-tabs{gap:6px}.mode-tab{padding:13px 8px;gap:8px}.tab-number{height:27px;width:27px}.mode-tab b{font-size:11px}.learning-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.site{padding:0 15px}.hero{grid-template-columns:1fr;padding-top:35px;gap:10px}.hero-side{display:none}.hero h1{font-size:clamp(48px,9vw,70px)}.workspace{grid-template-columns:1fr}.mode-tabs{grid-template-columns:1fr 1fr}.app-intro{align-items:start;flex-direction:column;gap:9px}.learning{margin-top:50px}.records-heading{align-items:start;flex-direction:column}.history-list{grid-template-columns:1fr}}
@media(max-width:500px){.site{padding:0 12px}.topbar{min-height:76px}.brand-lines strong{font-size:9px;letter-spacing:1px}.brand-lines small{font-size:9px}.monogram{height:39px;width:39px;font-size:18px}.toplink{font-size:10px;max-width:98px;text-align:right}.hero{padding:27px 1px 24px}.hero h1{font-size:48px;letter-spacing:-2.8px}.hero p{font-size:13px}.edition{display:none}.hero-pills span{font-size:10px}.app-intro h2,.learning h2,.records h2,.tools h2{font-size:29px}.mode-tab{min-height:73px;padding:12px 8px}.mode-tab small{font-size:9px}.form-panel,.output-panel{padding:17px 15px}.input-grid{gap:13px 9px}.field>span:first-child{font-size:11px}.input-grid input,.input-grid select{font-size:14px}.presets button{padding:6px}.blendrow{grid-template-columns:1fr 68px}.panel-heading h2{font-size:26px}.result-number strong{font-size:41px}.learning-grid{grid-template-columns:1fr}.tools-links{grid-template-columns:1fr}.records{padding:20px}.history-item{align-items:start;flex-direction:column}.result-actions .btn{font-size:10px}.composition-title span{font-size:9px}}
@media print{@page{size:A4;margin:13mm}body{background:#fff!important}.site{display:none!important}.print-only{display:block!important;font-family:Arial,sans-serif;color:#252c25;font-size:11px}.print-only h1{font-family:Georgia,serif;font-size:25px}.print-only h2{font-size:16px;border-bottom:1px solid #ccc;padding-bottom:6px}.print-only table{border-collapse:collapse;width:100%;margin:12px 0}.print-only th,.print-only td{border:1px solid #ddd;padding:7px;text-align:left}.print-only small{color:#777}.print-only .label-sheet{border:2px solid #222;padding:20px;max-width:380px;margin:20px auto}.print-only .label-sheet h1{font-size:22px}.print-only .footnote{margin-top:20px;font-size:10px;color:#666}}

@media(max-width:500px){.serial-head,.serial-row{grid-template-columns:29px 52px 52px minmax(0,1fr);gap:5px;padding:6px 5px}.serial-row input,.serial-row select{padding:5px 3px;min-height:34px;font-size:11px}.serial-head{font-size:9px}}
