:root{color-scheme:light;--bg:#f6f5ef;--paper:#fff;--ink:#21382e;--soft:#566e60;--accent:#315443;--light:#eaf2e9;--border:#dce6dc;--lime:#aad0ac;--error:#9d453d;--muted:#7b9082;--shadow:0 14px 40px #203b2c0c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #92c5a3;outline-offset:2px}a{color:inherit}header.top{background:#1f342a;color:#f3f7f0;border-bottom:1px solid #516959;position:relative;z-index:3}header.top .top-in{max-width:1380px;margin:auto;padding:15px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{text-decoration:none;font-size:24px;font-weight:850;letter-spacing:-1.2px;white-space:nowrap}.brand span{color:#b4d8b5}.top nav{display:flex;gap:8px;flex-wrap:wrap}.top nav a{font-size:13px;font-weight:730;text-decoration:none;padding:8px 11px;border-radius:9px;color:#c7dacf}.top nav a:hover,.top nav a.active{background:#426451;color:#fff}.page{max-width:1380px;margin:auto;padding:35px 25px 65px}.hero{text-align:center;padding:42px 15px 48px}.eyebrow{font-weight:850;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:#61806b}.hero h1{font-weight:850;letter-spacing:-.055em;line-height:1.08;font-size:clamp(38px,5vw,68px);max-width:920px;margin:16px auto}.hero h1 em{font-style:normal;color:#5d8b6b}.hero p{max-width:690px;margin:12px auto 0;color:var(--soft);font-size:17px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tool-card{display:flex;flex-direction:column;text-decoration:none;background:var(--paper);border:1px solid var(--border);border-radius:20px;overflow:hidden;min-height:315px;box-shadow:var(--shadow);transition:transform .18s,border-color .18s}.tool-card:hover{transform:translateY(-4px);border-color:#8caa90}.card-art{height:122px;background:#e8f0e7;display:grid;place-items:center;overflow:hidden}.card-art svg{width:80%;height:95%}.tool-card .body{padding:20px 20px 24px;display:flex;flex:1;flex-direction:column;gap:9px}.tool-card h2{margin:0;font-size:24px;letter-spacing:-.04em;line-height:1.18}.tool-card h2 .card-title-base{font-weight:690}.tool-card h2 .card-title-focus{font-weight:850;color:var(--card-accent);text-wrap:balance}.tool-card p{margin:0;color:var(--soft);font-size:13px}.tool-card strong{color:var(--accent);margin-top:auto;padding-top:18px;font-size:13px}.info-line{margin:34px 0;padding:23px;border-radius:16px;background:#e6e1d6;border:1px solid #d9cfbc;color:var(--soft);display:flex;gap:18px;justify-content:space-between;align-items:center}.info-line b{color:var(--ink)}.layout{display:grid;grid-template-columns:minmax(230px,310px) minmax(420px,1fr) minmax(250px,310px);gap:16px;align-items:start}.panel,.canvas-card{background:var(--paper);border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.panel .section{padding:20px;border-bottom:1px solid var(--border)}.panel .section:last-child{border-bottom:0}.panel h2,.panel h3{font-size:17px;letter-spacing:-.035em;margin:0 0 15px}.panel p{color:var(--soft);font-size:13px;margin:8px 0 0}.field{display:block;margin:12px 0;font-size:12px;color:var(--ink);font-weight:760}.field input,.field select{display:block;width:100%;height:42px;padding:8px 10px;border:1px solid #cfddcf;border-radius:9px;background:#fafdf9;color:var(--ink);margin-top:6px;min-width:0}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px}.twocol .field{min-width:0}.btn{border:0;background:var(--accent);color:#fff;padding:12px 15px;border-radius:10px;font-weight:780;font-size:13px}.btn:hover{background:#4c7159}.btn.secondary{background:#e9f0e7;color:#284533}.btn.danger{background:#fff0ee;color:#a04438}.btn:disabled{opacity:.4;cursor:not-allowed}.controls{display:flex;flex-wrap:wrap;gap:7px}.controls .btn{padding:9px 12px}.canvas-card{padding:20px}.canvas-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.canvas-head h2{font-size:23px;letter-spacing:-.04em;margin:0}.canvas-head span{font-size:12px;color:var(--muted)}.canvas-holder{margin:20px 0 12px;border-radius:13px;border:1px solid var(--border);background:#eff3ea;min-height:430px;display:flex;align-items:center;justify-content:center;touch-action:none;overflow:hidden;user-select:none;position:relative}.canvas-holder svg{height:460px;width:100%;touch-action:none;display:block;user-select:none}.canvas-holder [data-vertex],.canvas-holder [data-obstacle]{cursor:grab}.canvas-holder [data-vertex]:active,.canvas-holder [data-obstacle]:active{cursor:grabbing}.hint{background:#f1f6f0;border-left:3px solid #7b9e7d;padding:12px 15px;border-radius:8px;font-size:13px;color:#47604e}.results{margin:12px 0}.result-lead{background:#e7f1e7;padding:18px 15px;border-radius:12px;margin-bottom:12px}.result-lead small{display:block;color:#5a7964;font-size:12px;font-weight:700}.result-lead strong{display:block;font-size:29px;line-height:1.4;letter-spacing:-.035em}.stat{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.stat span{color:var(--soft)}.stat b{text-align:right}.warning{color:#92502a;background:#fff6e6;border:1px solid #eed7b0;border-radius:9px;padding:11px;margin:12px 0;font-size:12px}.subnav{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 20px}.subnav a{text-decoration:none;padding:9px 14px;border-radius:20px;font-weight:740;font-size:13px;background:#e5ede4;color:#466b51}.subnav a.active{background:var(--accent);color:#fff}.content-guide{max-width:950px;margin:52px auto 0;padding:28px;background:#fff;border:1px solid var(--border);border-radius:17px;color:var(--soft)}.content-guide h2{font-size:26px;color:var(--ink);letter-spacing:-.04em;margin:0 0 10px}.content-guide h3{font-size:17px;color:var(--ink)}.content-guide p,.content-guide li{font-size:14px}.content-guide a{color:var(--accent)}.crumbs{font-size:13px;color:var(--soft);margin-bottom:16px}.crumbs a{text-decoration:none}.tool-heading{margin:10px 0 25px}.tool-heading h1{font-size:clamp(30px,3.4vw,45px);line-height:1.12;letter-spacing:-.05em;margin:0 0 10px}.tool-heading p{margin:0;color:var(--soft);max-width:820px}.input-note{font-size:12px!important;color:var(--muted)!important}.badge{display:inline-block;background:#e2eee2;color:#416849;font-weight:730;border-radius:6px;padding:4px 8px;font-size:11px}.checkbox{display:flex;align-items:center;gap:8px;margin:13px 0;font-size:13px}.checkbox input{width:16px;height:16px;accent-color:#487358}.editor-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.editor-options select{border:1px solid var(--border);border-radius:7px;padding:6px;background:#fff;color:var(--ink)}.tool-footer{border-top:1px solid var(--border);padding:27px 5%;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:12px;color:var(--soft)}.tool-footer a{color:var(--accent)}[hidden]{display:none!important}@media(max-width:1130px){.cards{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:minmax(210px,300px) minmax(0,1fr)}.layout>.panel:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.layout>.panel:last-child .section{border-right:1px solid var(--border)}}@media(max-width:760px){.page{padding:22px 13px 48px}.layout{display:flex;flex-direction:column}.layout>*{width:100%}.layout>.panel:last-child{display:block}.layout>.panel:last-child .section{border-right:0}.canvas-holder{min-height:330px}.canvas-holder svg{height:360px}.hero{padding:30px 4px}.hero h1{font-size:38px}.info-line{display:block}.top nav a{padding:6px 8px}}@media(max-width:480px){.cards{grid-template-columns:1fr}.tool-card{min-height:0}.card-art{height:90px}.card-art svg{height:100%}.twocol{gap:6px}.canvas-holder svg{height:315px}.canvas-card{padding:12px}}@media print{.top,.panel,.hint,.controls,.editor-options,.subnav,.content-guide,.tool-footer{display:none!important}.page{padding:0}.layout{display:block}.canvas-card{border:0;box-shadow:none}.canvas-holder{border:0;background:white}.canvas-holder svg{height:720px}}

.print-report{display:none}@media print{.print-report{display:block!important;margin:18px 20px;border-top:1px solid #ddd;padding-top:10px;font-size:12px}.print-report h3{margin:8px 0}.print-report p{margin:4px 0}.print-report strong{font-size:22px}}

/* CasaExacta suite-wide preferences and matching dark mode */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.top-in .suite-settings{display:flex;align-items:center;gap:8px;flex-shrink:0}
.top-in .suite-setting select,.top-in .suite-theme{height:36px;min-width:50px;border:1px solid #668572;border-radius:10px;background:#2e4b3b;color:#f4faf5;padding:5px 9px;font-size:13px;font-weight:750;cursor:pointer}
.top-in .suite-theme{min-width:38px;font-size:19px;line-height:1;padding:0;display:grid;place-items:center}
.top-in .suite-theme:hover,.top-in .suite-setting select:hover{background:#426450}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101c17;--paper:#1d2b23;--ink:#ecf2e8;--soft:#bacdbd;--accent:#b2d7b2;--light:#283d30;--border:#3d5546;--lime:#789e7d;--error:#f0a29b;--muted:#9eb6a5;--shadow:0 14px 40px #07110b42}
:root[data-theme="dark"] .top{background:#13231b}
:root[data-theme="dark"] .card-art{background:#314638}
:root[data-theme="dark"] .tool-card .card-art svg{opacity:.90}
:root[data-theme="dark"] .tool-card strong{color:#acd8ad}
:root[data-theme="dark"] .badge,:root[data-theme="dark"] .btn.secondary,:root[data-theme="dark"] .subnav a,:root[data-theme="dark"] .result-lead,:root[data-theme="dark"] .hint{background:#2b4233;color:#e1f2df}
:root[data-theme="dark"] .info-line{background:#263b33;border:1px solid #3b544b;color:#e1f2df}
:root[data-theme="dark"] .subnav a.active{background:#537d5a;color:white}
:root[data-theme="dark"] .field input,:root[data-theme="dark"] .field select,:root[data-theme="dark"] .editor-options select{background:#14261c;border-color:#4c6452;color:#eaf2e8}
:root[data-theme="dark"] .btn{background:#557d61;color:#fff}
:root[data-theme="dark"] .btn.danger{background:#51342f;color:#ffd3cf}
:root[data-theme="dark"] .canvas-holder{background:#334636}
:root[data-theme="dark"] .warning{background:#403323;border-color:#73543a;color:#ffe1b9}
:root[data-theme="dark"] .content-guide{background:var(--paper)}
:root[data-theme="dark"] .eyebrow,:root[data-theme="dark"] .hero h1 em{color:#a5d1a9}
:root[data-theme="dark"] .info-line b{color:var(--ink)}
:root[data-theme="dark"] .hint{border-color:#81ab88}
:root[data-theme="dark"] .result-lead small{color:#b9d7be}
:root[data-theme="dark"] .canvas-head span{color:var(--muted)}
:root[data-theme="dark"] .card-art svg text{fill:#243a29}
@media(max-width:760px){.top-in{justify-content:center!important;gap:10px!important}.top-in nav{justify-content:center}.top-in .suite-settings{justify-content:center}}
@media print{.suite-settings{display:none!important}}
