@font-face{font-family:Outfit;src:url('vendor/fonts/Outfit-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Outfit;src:url('vendor/fonts/Outfit-500.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Outfit;src:url('vendor/fonts/Outfit-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Outfit;src:url('vendor/fonts/Outfit-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{font-family:Outfit,"Avenir Next",sans-serif;font-size:16px;font-synthesis:none;color:#302939;background:#f0f0f4;--ink:#302939;--muted:#736c7e;--violet:#4d3278;--accent:#f4dd73;--line:#e1dce8;--paper:#fff}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary,label.upload,label.camera-label{outline-offset:4px}button,a,summary{touch-action:manipulation}button{border:1px solid var(--line);border-radius:10px;min-height:44px;padding:9px 16px;color:var(--ink);background:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}button:hover{background:#f2eef8;border-color:#baacca}button:disabled{opacity:.55;cursor:wait}a{color:inherit}.secondary{background:transparent}.primary{background:var(--violet);color:#fff;border-color:var(--violet);font-size:1rem;font-weight:500}.primary:hover{background:#66438e;border-color:#66438e}.full{width:100%}.topbar{max-width:1380px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:27px 40px 23px;gap:20px}.brand{display:inline-flex;align-items:baseline;text-decoration:none;line-height:1;font-size:2.1rem;font-weight:600;letter-spacing:-.045em;color:var(--violet)}.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--violet);margin-left:5px}.topbar .secondary{background:#fff;border-color:transparent;border-radius:22px;padding-inline:19px}main{max-width:1380px;margin:auto;padding:0 40px 52px}h2{font-size:1.3rem;font-weight:500;letter-spacing:-.04em;margin:0}.workspace{display:grid;grid-template-columns:296px minmax(0,1fr);align-items:start;gap:20px}.input-panel{background:var(--violet);color:#fff;padding:26px 22px 22px;border-radius:21px;min-width:0}.input-panel>h2{font-size:1.65rem;font-weight:500;margin:0 0 22px;letter-spacing:-.035em}.tabs{display:flex;gap:3px;padding:4px;background:#372059;border-radius:12px;margin-bottom:20px}.tabs button{flex:1;border:0;background:transparent;color:#e0d2f1;border-radius:8px;min-height:39px;padding:7px 5px;font-size:.9rem}.tabs button:hover{color:#fff;background:#563880}.tabs button[aria-selected=true]{background:var(--accent);color:#36233f;font-weight:600}label{display:block;font-weight:500;font-size:.875rem;margin-bottom:8px}input:not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid #d8cfe2;background:#fff;border-radius:9px;padding:12px;color:var(--ink);font-size:1rem}textarea{resize:vertical;min-height:120px;line-height:1.8}.input-panel textarea{border:0;box-shadow:inset 0 0 0 1px #fff4;font-size:1.07rem;padding:15px 13px;background:#faf9fc}.hint{font-size:.875rem;line-height:1.55;color:var(--muted);margin:10px 0 17px}.input-panel .hint{color:#e0d4f1}.input-panel>.hint{margin-bottom:0}.input-panel .primary{background:var(--accent);border-color:var(--accent);color:#34283d;min-height:48px}.input-panel .primary:hover{background:#ffe98b;border-color:#ffe98b}.input-help{margin:16px 0 0!important;color:#dfd0f0}.input-help p{margin:10px 0 0;line-height:1.8;font-size:.875rem}.input-panel summary:hover{color:#fff}.input-panel summary:focus-visible{outline-color:var(--accent)}.coeffs{display:flex;gap:8px}.coeffs label{min-width:0;flex:1;font-size:1rem}.coeffs input{margin-top:8px;border:0;text-align:center;padding:12px 5px}.template{margin:22px 0;color:#fff;font-size:1.08rem}.result-panel{background:#fff;border-radius:21px;padding:22px 25px 23px;min-width:0}.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.actions{display:flex;flex-wrap:wrap;gap:6px}.actions button{padding:8px 11px;min-height:38px;font-size:.8rem}.legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:16px 0 3px}.legend button{border:0;border-radius:0;padding:5px 0;min-height:35px;display:flex;gap:8px;align-items:center;font-size:.9rem;font-weight:400;background:transparent;max-width:100%;overflow-wrap:anywhere;text-align:left}.legend .swatch{width:18px;height:3px;display:inline-block;flex-shrink:0}.legend button[aria-pressed=false]{opacity:.4}.graph-shell{position:relative}#graph{display:block;width:100%}#graph text,.individual-graph svg text{font:12px Outfit,Arial,sans-serif;fill:#776d84}#tooltip{position:absolute;pointer-events:none;max-width:220px;white-space:pre-line;background:#38244f;color:#fff;padding:11px 14px;border-radius:9px;font-size:.8rem;line-height:1.55}.graph-footer{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin:10px 0 22px}.check{display:flex;align-items:center;gap:8px;margin:0;font-weight:400;font-size:.875rem}.check input{accent-color:var(--violet);width:16px;height:16px}.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding-top:17px;gap:15px}.metric{min-width:0}.metric>span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:8px}.metric>.math{overflow-x:auto;font-size:1.05rem;color:var(--violet)}.metric small{font-size:.75rem;color:var(--muted)}.solutions-area{margin-top:28px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;padding-inline:3px}.section-heading h2{font-size:1.6rem}.section-heading label{width:270px;max-width:60%;margin:0}.section-heading select{border:0;background:#e3deed;padding:10px 14px;font-size:.9rem;font-weight:500;min-height:44px}.notebook{background:#fff;border-radius:16px;padding:24px 30px}.solution-header{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:2px}.solution-header h3{font-family:inherit;font-size:1rem;font-weight:500;margin:0;color:var(--muted)}.solution-header>.math{font-size:1.18rem;overflow-x:auto;color:var(--violet)}.compact-work{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:32px}.compact-calcs,.compact-visual{min-width:0}.step{padding:15px 0;border-bottom:1px solid var(--line);break-inside:avoid}.step:last-child{border:0}.step h4{display:flex;align-items:baseline;gap:10px;font-size:1rem;font-weight:500;margin:0 0 9px;color:var(--ink)}.step-number{color:#9d8bae;min-width:11px;font-size:.85rem;font-weight:400}.step p{font-size:.875rem;line-height:1.55;margin:7px 0;color:#645870}.calculation{padding:1px 0 1px 21px;color:#4d3278;overflow-x:auto;max-width:100%}.calculation .math{margin:8px 0;min-height:20px}.katex{font-size:1.06em}.katex-display{text-align:left;margin:.5em 0}.katex-display>.katex{text-align:left}.table-wrap{overflow-x:auto;margin-left:21px}table{width:100%;border-collapse:collapse;text-align:center;margin:9px 0}th,td{padding:10px 7px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-weight:500;color:var(--muted);background:#f6f3f9}tr:last-child th,tr:last-child td{border:0}.extra-calculations{margin:9px 0 0 21px;font-size:.85rem;color:var(--muted)}details{font-size:.875rem;line-height:1.6;margin:14px 0}summary{cursor:pointer}summary:hover{color:var(--violet)}.extra-calculations .calculation{padding-left:0}.individual-graph{margin-top:14px}.individual-graph svg{display:block;width:100%}.construction-note{font-size:.8rem;color:var(--muted);line-height:1.5;margin:4px 0 13px}.compact-visual>.step{border-top:1px solid var(--line);border-bottom:0}.error{margin:17px 0 0;padding:12px;border-radius:8px;background:#fff0f1;color:#a12243;font-size:.875rem;line-height:1.5}.upload{border:1px dashed #bca8d7;border-radius:12px;display:flex;align-items:center;flex-direction:column;padding:20px 12px;gap:7px;text-align:center;cursor:pointer;background:#ffffff08}.upload:hover{background:#ffffff15}.upload-icon{font-size:2rem;line-height:1.2;color:var(--accent);font-weight:400}.upload strong{font-weight:500}.upload span:last-child{font-size:.8rem;font-weight:400;color:#dfd2ef}.file-input{position:absolute;width:1px!important;height:1px;opacity:0;padding:0!important}.camera-label{display:block;text-align:center;padding:11px;border:1px solid #a48bbb;border-radius:9px;cursor:pointer;font-size:.875rem;margin:10px 0}.camera-label:hover{background:#ffffff12}.camera-label:has(+input:focus-visible),.upload:has(+input:focus-visible){outline:2px solid var(--accent);outline-offset:4px}#photo-preview{max-width:100%;max-height:220px;object-fit:contain;display:block;margin:16px auto;border-radius:6px}.photo-actions{display:flex;gap:8px;flex-wrap:wrap}.photo-actions .secondary{color:#fff;border-color:#a48bbb;flex:1}.photo-actions .primary{min-height:44px;flex:1;font-size:.875rem;padding:10px}#ocr-status{font-size:.875rem;line-height:1.5;margin:12px 0}#photo-review{border-top:1px solid #a48bbb55;padding-top:15px;margin-top:15px}#ocr-text{margin-top:8px}#ocr-raw{font:inherit;font-size:.8rem;white-space:pre-wrap;overflow-wrap:anywhere}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--violet);color:#fff;border-radius:10px;padding:13px 21px;z-index:10;max-width:90%;text-align:center;font-size:.9rem}#notice:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:1100px){main{padding-inline:24px}.topbar{padding-inline:24px}.workspace{grid-template-columns:270px minmax(0,1fr);gap:15px}.result-panel{padding:20px 18px}.compact-work{gap:22px}.notebook{padding:22px}.result-toolbar{flex-wrap:wrap}.actions{gap:5px}}
@media(max-width:800px){.workspace{grid-template-columns:1fr}.input-panel{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.input-panel>h2{grid-column:1;margin:3px 0 16px}.tabs{grid-column:1;margin-bottom:0;align-self:start}.input-panel>[role=tabpanel],.input-panel>.error{grid-column:2;grid-row:1/span 3}.input-panel>.error{grid-row:4;margin-top:12px}.input-panel textarea{min-height:110px}.compact-work{grid-template-columns:1fr;gap:8px}.compact-notebook .solution-header{padding-bottom:13px}.individual-graph{margin-top:5px}}
@media(max-width:540px){.topbar{padding:24px 18px 20px}.brand{font-size:1.85rem}.topbar button{min-height:39px;font-size:.8rem;padding:8px 13px}main{padding:0 12px 30px}.input-panel{display:block;border-radius:17px;padding:20px}.input-panel>h2{font-size:1.45rem;margin:0 0 16px}.tabs{margin-bottom:16px}.input-panel textarea{min-height:125px}.result-panel{padding:20px 12px 18px;border-radius:17px}.result-toolbar{padding-inline:4px;gap:12px}.actions button{font-size:.8rem;padding:7px 9px}.legend{padding-inline:4px;margin-top:12px}.graph-footer{padding-inline:4px;font-size:.75rem}.check{font-size:.8rem}.summary{gap:13px;padding-inline:4px;grid-template-columns:1fr}.metric{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.metric>span{margin:0}.metric>.math{max-width:100%}.section-heading{gap:12px}.section-heading h2{font-size:1.35rem}.section-heading label{max-width:59%;min-width:0}.section-heading select{font-size:.8rem;padding:10px}.notebook{padding:18px 16px}.solution-header{align-items:flex-start;flex-direction:column;gap:9px}.solution-header h3{font-size:.875rem}.solution-header>.math{max-width:100%}.calculation{padding-left:0}.extra-calculations,.table-wrap{margin-left:0}.step h4{font-size:.95rem}.step{padding:13px 0}.compact-work{gap:0}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
@media print{@page{margin:12mm}body{background:#fff;color:#302939}.topbar,.input-panel,.actions,.graph-footer,.legend button,.section-heading label,#notice{display:none!important}main{padding:0;max-width:none}.workspace{display:block}.result-panel{padding:0;border-radius:0}.summary{grid-template-columns:repeat(3,1fr)}.metric{display:block}.solutions-area>.section-heading{display:none}.solutions-area{margin:0}.notebook{padding:10px 0;border-radius:0;break-before:page}.notebook[hidden]{display:block!important}.compact-work{grid-template-columns:1fr 1fr;gap:16px}.solution-header{flex-direction:row}.step{padding:9px 0;break-inside:avoid}.table-wrap,.calculation{overflow:visible}.calculation{padding-left:0}.extra-calculations:not([open]){display:none}.katex{font-size:1em}.individual-graph svg{max-height:280px}#graph{height:340px}.construction-note{font-size:10pt}button{display:none!important}}

/* Taste matematice accesibile și pe tastaturile de telefon. */
.math-keys{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px}.math-keys button,.sign-key{min-height:44px;padding:5px;color:#fff;background:#ffffff0d;border:1px solid #a48bbb;font-size:1.2rem;font-weight:500;touch-action:manipulation}.math-keys button:hover,.sign-key:hover{background:#ffffff24}.math-keys button:focus-visible,.sign-key:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.coeffs .coefficient{flex:1;min-width:0}.coefficient label{display:block}.coefficient .sign-key{width:100%;margin-top:6px}
