:root{--bg:#06131d;--panel:#0c1e2a;--panel2:#102735;--line:#285a74;--text:#f4f7f9;--muted:#a9bbc8;--yellow:#ffc400;--danger:#ff6b6b;--ok:#55d68a}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;padding-bottom:98px}.top{position:sticky;top:0;z-index:20;background:rgba(6,19,29,.96);backdrop-filter:blur(12px);border-bottom:2px solid var(--line);padding:18px 22px 16px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.logo{font-size:38px}.brand h1{font-size:25px;margin:0;font-weight:800}.brand p{margin:3px 0 0;color:var(--muted);font-size:15px}.theme{width:62px;height:62px;border:2px solid var(--line);background:var(--panel);border-radius:18px;font-size:28px;color:#fff}.page{max-width:920px;margin:auto;padding:28px 22px}.hero,.card{background:var(--panel);border:2px solid var(--line);border-radius:32px}.hero{padding:38px 34px;display:flex;align-items:center;gap:32px;margin-bottom:24px}.hero .logo{font-size:70px}.hero h2{font-size:44px;margin:0 0 12px}.hero p{font-size:23px;color:var(--muted);margin:0;line-height:1.35}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.tile{min-height:220px;padding:28px;border:2px solid var(--line);background:var(--panel);border-radius:32px;color:var(--text);text-align:left;transition:.15s}.tile:active{transform:scale(.985)}.tile .ico{font-size:50px}.tile h3{font-size:30px;margin:18px 0 8px}.tile p{font-size:20px;color:var(--muted);margin:0;line-height:1.35}.code-tile{grid-column:1/-1;min-height:170px;display:flex;align-items:center;gap:22px}.code-tile h3{margin:0 0 8px}.back{display:flex;align-items:center;gap:10px;background:none;border:0;color:#fff;font-size:26px;padding:0 0 18px}.title{font-size:38px;margin:0 0 8px}.subtitle{font-size:20px;color:var(--muted);margin:0 0 26px}.card{padding:26px;margin-bottom:20px}.fields{display:grid;gap:18px}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;color:var(--muted);font-size:17px;margin:0 0 8px}.field input,.field select,.field textarea{width:100%;border:2px solid var(--line);background:#071823;color:#fff;border-radius:22px;padding:17px;font-size:21px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--yellow)}.primary{background:var(--yellow);color:#07131c;border:0;border-radius:22px;padding:17px 22px;font-weight:850;font-size:21px;width:100%}.secondary{background:var(--panel2);color:#fff;border:2px solid var(--line);border-radius:18px;padding:13px 18px;font-weight:700}.result{margin-top:20px;background:#f2f5f7;color:#142432;border-radius:28px;padding:24px;font-size:24px;font-weight:800}.result small{display:block;color:#51616e;font-weight:600;font-size:16px;margin-top:8px}.answer{white-space:pre-wrap;line-height:1.45}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--panel2);color:#fff;border-radius:999px;padding:8px 12px}.calc-display{background:#020b11;border:2px solid var(--line);border-radius:20px;padding:20px;text-align:right;font-size:38px;min-height:78px;overflow:auto}.keys{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.key{min-height:58px;border:1px solid var(--line);border-radius:14px;background:#102331;color:#fff;font-size:21px;font-weight:750}.key.op{background:#1a3141}.key.eq{background:var(--yellow);color:#07131c}.key.clear{background:#3a2525}.bottom{position:fixed;bottom:0;left:0;right:0;z-index:30;background:rgba(6,19,29,.98);border-top:2px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:10px 12px max(10px,env(safe-area-inset-bottom));backdrop-filter:blur(12px)}.nav{border:0;background:none;color:var(--muted);padding:8px;font-size:15px}.nav.active{color:var(--yellow)}.nav b{display:block;font-size:28px;margin-bottom:2px}.notice{padding:15px 18px;border-left:6px solid #4f8cff;background:#f2f5f7;color:#152635;border-radius:18px;margin-top:18px}.notice strong{display:block;margin-bottom:6px}.danger{border-left-color:var(--danger)}.ok{border-left-color:var(--ok)}.list{display:grid;gap:10px}.item{padding:15px;border:1px solid var(--line);border-radius:16px;background:#0b1c27}.muted{color:var(--muted)}.voice{display:flex;gap:10px;flex-wrap:wrap}.record{width:90px;height:90px;border-radius:50%;border:0;background:var(--yellow);font-size:34px}.record.recording{background:#ff5d5d}.footer-note{color:var(--muted);font-size:14px;line-height:1.45}.hidden{display:none!important}@media(max-width:650px){.page{padding:22px 18px}.hero{padding:30px 24px;gap:18px}.hero h2{font-size:34px}.hero p{font-size:19px}.hero .logo{font-size:50px}.grid{gap:14px}.tile{min-height:190px;padding:22px;border-radius:27px}.tile h3{font-size:25px}.tile p{font-size:18px}.tile .ico{font-size:42px}.code-tile{min-height:155px}.title{font-size:32px}.row{grid-template-columns:1fr}.card{padding:20px;border-radius:26px}}

.calc-card{padding-top:18px}.calc-tabs{display:flex;gap:8px;margin-bottom:16px}.calc-tab{flex:1;border:0;background:var(--panel2);color:var(--muted);border-radius:16px;padding:12px;font-weight:800}.calc-tab.active{background:var(--yellow);color:#07131c}.calc-expression{font-size:15px;color:var(--muted);min-height:20px}.calc-result{font-size:40px;margin-top:4px}.conversion-card h3{margin:0}.section-head{display:flex;justify-content:space-between;align-items:center}.unit-pills{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:18px 0}.unit-pill{border:1px solid var(--line);background:var(--panel2);color:#fff;border-radius:14px;padding:11px 4px;font-weight:800}.unit-pill.active{background:var(--yellow);color:#07131c;border-color:var(--yellow)}.conversion-grid{display:grid;grid-template-columns:1.5fr .9fr auto .9fr;gap:10px;align-items:end}.swap{height:58px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);color:#fff;font-size:25px}.quick-results{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);line-height:1.8}.quick-results strong{display:block;color:var(--text);margin-bottom:4px}.mode-badge{display:inline-block;background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--muted);font-weight:700}.note-mode{display:flex;gap:8px;margin-bottom:12px}.voice{margin-top:12px}
@media(max-width:650px){.conversion-grid{grid-template-columns:1fr 1fr}.swap{grid-column:1/-1;height:46px}.unit-pills{gap:5px}.unit-pill{padding:10px 2px}.calc-result{font-size:36px}}
.answer h3{margin:10px 0 8px;font-size:22px}.answer p{margin:8px 0;line-height:1.55}.answer-warning{margin:14px 0;padding:12px 14px;border-radius:12px;background:rgba(255,193,7,.12);font-size:14px;line-height:1.45}.source-link{display:inline-block;margin-top:8px;font-weight:700;color:inherit;text-decoration:underline}
.exact-calc{padding:18px 14px 20px}.exact-calc .calc-display{background:#02080c;border:2px solid var(--line);border-radius:28px;min-height:260px;padding:28px 24px 24px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end}.exact-calc .calc-result{font-size:66px;font-weight:800;line-height:1}.calc-unit{font-size:20px;color:var(--muted);margin-top:20px}.calc-units{margin:22px 0 18px}.convert-main{margin-bottom:18px}.exact-calc .keys{grid-template-columns:repeat(4,1fr);gap:10px}.exact-calc .key{min-height:72px;border-radius:18px;font-size:28px}.exact-calc .key.clear{background:#402727}.calc-help{font-size:16px;color:var(--muted);line-height:1.45;margin:18px 4px 0}.unit-switch{display:flex;gap:8px;margin-bottom:18px}.unit-switch .unit-pill{flex:0 0 110px}
@media(max-width:650px){.exact-calc .calc-display{min-height:260px}.exact-calc .calc-result{font-size:62px}.exact-calc .key{min-height:68px}.unit-switch .unit-pill{flex:1}}

/* ChantierPro V5 polish */
html[data-theme="light"]{--bg:#f4f7f9;--panel:#ffffff;--panel2:#edf2f5;--line:#285a74;--text:#132431;--muted:#5d6d78}
html[data-theme="light"] .top,html[data-theme="light"] .bottom{background:rgba(244,247,249,.96)}
html[data-theme="light"] .field input,html[data-theme="light"] .field select,html[data-theme="light"] .field textarea{background:#fff;color:var(--text)}
.unit-entry{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.unit-entry label{grid-column:1/-1;color:var(--muted);font-size:15px;font-weight:700}
.unit-entry input{width:100%;border:2px solid var(--line);background:#071823;color:#fff;border-radius:16px;padding:14px;font-size:18px;outline:none}
html[data-theme="light"] .unit-entry input{background:#fff;color:var(--text)}
.unit-entry input:focus{border-color:var(--yellow)}
@media(max-width:650px){.unit-entry{grid-template-columns:1fr}.unit-entry .secondary{width:100%}}
.pitch-table{overflow:auto;margin-top:12px}.pitch-table table{width:100%;border-collapse:collapse}.pitch-table th,.pitch-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}.pitch-table th{color:#f6c400}.text-input{flex:1;min-width:0;background:#111722;border:1px solid #303948;border-radius:12px;color:#fff;padding:12px}.check-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.check-item span{flex:1}.check-item input{width:20px;height:20px;accent-color:#f6c400}
/* V7.0.4 light-theme polish */
html[data-theme="light"] .back,
html[data-theme="light"] .theme,
html[data-theme="light"] .secondary,
html[data-theme="light"] .chip,
html[data-theme="light"] .unit-pill,
html[data-theme="light"] .text-input{color:var(--text)}
html[data-theme="light"] .text-input{background:#fff;border-color:var(--line)}
html[data-theme="light"] .theme{background:var(--panel);border-color:var(--line)}
html[data-theme="light"] .secondary{background:var(--panel2)}
/* V7.0.4 UX — Code answers easier to scan */
.code-question-card .primary{margin-top:14px}
.answer-domain{font-size:14px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#35586b;margin-bottom:4px}
.answer h3{font-size:28px;line-height:1.18;margin:8px 0 12px}
.answer-quick{font-size:23px;line-height:1.35;font-weight:850;background:#e6f6ec;border-radius:18px;padding:16px 18px;margin:10px 0 14px;color:#142b20}
.answer-details{font-size:18px;line-height:1.5}
.answer-details p{margin:8px 0}
.answer > p:first-of-type{font-size:20px;line-height:1.5;font-weight:700;background:#e6f6ec;border-radius:18px;padding:14px 16px;color:#142b20}
.answer > p:first-of-type b{font-weight:900}
@media(max-width:650px){.answer h3{font-size:26px}.answer-quick{font-size:21px}.answer-details{font-size:17px}.answer > p:first-of-type{font-size:19px}}

.report-link{margin-top:12px;background:transparent;border:0;padding:8px 0;color:inherit;text-decoration:underline;font-weight:750;opacity:.82}.report-box{margin-top:14px;padding:18px;border:2px solid var(--line);border-radius:22px;background:var(--panel2)}.report-box h3{margin-top:0}.report-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:12px}.report-actions .primary{margin:0}.report-actions .secondary{width:100%}@media(max-width:650px){.report-actions{grid-template-columns:1fr}}
/* V7.1 UX: calculator fits the mobile viewport and diagonal has explicit units */
.diagonal-fields .field select,.diagonal-result-unit select{width:100%;margin-top:8px;border:2px solid var(--line);background:#071823;color:#fff;border-radius:18px;padding:13px;font-size:18px}
.exact-calc{display:flex;flex-direction:column;min-height:calc(100dvh - 255px)}
.exact-calc .keys{flex:1;min-height:0}
@media(max-width:650px){
  .app:has(.exact-calc){padding-bottom:86px}
  .page:has(.exact-calc){padding:10px 10px 12px}
  .page:has(.exact-calc) .back{font-size:20px;padding-bottom:8px}
  .exact-calc{min-height:calc(100dvh - 190px);height:calc(100dvh - 190px);overflow:hidden;padding:10px 10px 12px;margin-bottom:0;border-radius:22px}
  .exact-calc .calc-display{min-height:88px;height:88px;padding:14px 16px;border-radius:18px}
  .exact-calc .calc-result{font-size:38px}
  .exact-calc .calc-units{margin:8px 0 8px;gap:4px}
  .exact-calc .unit-pill{padding:8px 2px;font-size:14px}
  .exact-calc .convert-main{margin-bottom:8px;padding:11px 14px;font-size:17px}
  .exact-calc .keys{gap:6px}
  .exact-calc .key{min-height:48px;height:100%;border-radius:13px;font-size:22px}
  .exact-calc .calc-help{display:none}
  .diagonal-fields .field select,.diagonal-result-unit select{font-size:17px;padding:12px}
}

.legal-mini{margin:14px 4px 100px;text-align:center}.legal-card{line-height:1.55}.legal-card h3{margin-top:22px}.answer-meta{font-size:12px;color:var(--muted);margin-top:12px}

/* CSP-safe utility classes: no inline style attributes required. */
.tile-arrow{font-size:40px;margin-left:auto}.spaced{margin-top:16px}.spaced-small{margin-top:10px}.inline-link{display:inline-block;text-decoration:none}
.header-actions{display:flex;gap:10px;align-items:center}.account-btn{width:58px;height:58px;border-radius:18px;border:2px solid var(--line);background:var(--panel);color:inherit;font-size:25px}.account-card{max-width:620px}.account-status{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:18px;background:var(--panel2);margin-bottom:18px}.status-dot{width:12px;height:12px;border-radius:50%;background:#f4b400;margin-top:6px}.account-status small,.admin-grid small{display:block;color:var(--muted);margin-top:5px}.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.admin-grid>div{border:2px solid var(--line);border-radius:18px;padding:16px;background:var(--panel2)}@media(max-width:650px){.account-actions,.admin-grid{grid-template-columns:1fr}.account-btn{width:52px;height:52px}}
