@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{--ink:#1d3049;--muted:#6d7d91;--blue:#1765db;--blue-dark:#154ca9;--teal:#13b7ac;--line:#e8edf4;--bg:#fff;--light:#f6f9fd;--shadow:0 16px 48px rgba(29,48,73,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:'DM Sans','Segoe UI',Arial,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(23,101,219,.45);outline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:'Plus Jakarta Sans','Segoe UI',Arial,sans-serif}h2{letter-spacing:-1.5px}.container{max-width:1200px;margin:0 auto;padding:0 24px}.site-header{height:83px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);border-bottom:1px solid #edf1f6;backdrop-filter:blur(18px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.brand-symbol{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:linear-gradient(135deg,#298cf1,#1550c1);box-shadow:0 6px 13px rgba(23,101,219,.21);color:#fff;font-size:28px;font-weight:800}.brand-symbol svg{width:30px}.brand-text{font-family:'Plus Jakarta Sans',sans-serif;font-size:22px;font-weight:800;letter-spacing:-1.2px;color:#172b48}.brand-text>span{color:var(--blue)}.brand-text small{font-size:13px;letter-spacing:-.3px;color:#8390a3}.main-nav{display:flex;gap:38px;margin-left:48px}.main-nav a{color:#4e5f76;font-size:13px;font-weight:700;transition:color .2s}.main-nav a:hover,.footer-links a:hover{color:var(--blue)}.header-cta{font-weight:800;font-size:13px;color:white;background:#1b65d5;padding:13px 18px;border-radius:10px;display:inline-flex;align-items:center;gap:18px;box-shadow:0 6px 12px #1962d022;transition:transform .2s,background .2s}.header-cta:hover,.button-primary:hover{background:#114cae;transform:translateY(-2px)}.mobile-toggle,.mobile-nav{display:none}.hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#f7faff 0%,#fbfcff 58%,#edf6ff 100%)}.hero-glow{position:absolute;width:520px;height:520px;pointer-events:none;border-radius:50%;filter:blur(70px);opacity:.37}.hero-glow-one{background:#dceafd;top:-360px;left:0}.hero-glow-two{background:#e3f6fa;right:-190px;bottom:-220px}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;gap:30px;min-height:612px;align-items:center}.hero-copy{position:relative;z-index:2;padding:66px 0 68px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#2263b9;background:#eaf2fe;border:1px solid #d8e9ff;border-radius:100px;font-size:11px;font-weight:800;letter-spacing:1px;padding:9px 14px}.eyebrow-spark{font-size:15px;color:#1680e2}.hero h1{font-size:clamp(39px,4.1vw,61px);letter-spacing:-3.25px;line-height:1.19;margin:24px 0 18px;font-weight:800}.hero-highlight{color:#1c65d5;position:relative;white-space:nowrap}.hero-dot{color:#20b8af}.hero-description{max-width:525px;color:#5f6f84;font-size:16px;line-height:1.9;margin-bottom:29px}.hero-description strong{font-weight:800;color:#2c405b}.hero-search-wrap{display:flex;gap:8px;width:min(540px,100%);filter:drop-shadow(0 9px 20px rgba(24,78,145,.075))}.search-box{border:1px solid #dfe7f1;display:flex;align-items:center;gap:12px;border-radius:13px;padding:0 13px 0 17px;background:#fff;height:62px;flex:1;min-width:0}.search-icon svg{display:block}.search-box input{flex:1;border:0;outline:0;min-width:0;color:var(--ink);background:transparent;font-size:14px}.search-box input::placeholder{color:#97a3b3}.search-shortcut{border:1px solid #e8edf5;border-radius:5px;color:#9da9b8;font-size:11px;padding:4px 6px;white-space:nowrap}.search-go{display:grid;place-items:center;background:#1d67d9;color:white;font-size:26px;border-radius:13px;width:61px;flex:0 0 61px}.hero-chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px}.hero-chips>span{font-size:12px;color:#7f8ea0;margin-right:2px}.hero-chips button{border:1px solid #e1eaf6;background:rgba(255,255,255,.78);color:#426181;padding:7px 10px;border-radius:7px;font-weight:700;font-size:11px}.hero-chips button:hover{border-color:#abcaf5;color:var(--blue)}.hero-reassurance{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:600;color:#63778e;margin-top:35px}.hero-reassurance i{width:4px;height:4px;border-radius:50%;background:#bdc8d6}.tiny-shield{display:inline-grid;place-items:center;border:1.5px solid #1eaa93;color:#19a78e;border-radius:50%;width:18px;height:18px;font-weight:800}.hero-visual{position:relative;height:540px;display:flex;align-items:center;justify-content:center}.hero-dot-grid{position:absolute;inset:16px 0;background-image:radial-gradient(#bcd2ed 1.1px,transparent 1.1px);background-size:19px 19px;mask-image:radial-gradient(ellipse at center,#000 28%,transparent 80%);opacity:.5}.mock-app{position:relative;z-index:2;width:375px;background:white;border:1px solid #e7edf5;box-shadow:0 31px 75px #2f629f28,0 3px 8px #2f629f09;border-radius:16px;transform:rotate(2deg) translate(9px,2px);overflow:hidden}.mock-app-header{height:57px;background:#fff;border-bottom:1px solid #edf1f6;display:flex;align-items:center;gap:9px;padding:0 20px;font-weight:800;font-size:12px}.mock-logo-mark{background:#deedff;color:#1f71df;padding:3px 7px;border-radius:5px;font-weight:900}.mock-app-dots{margin-left:auto;letter-spacing:2px;color:#abb7c6}.mock-app-body{padding:22px 24px 25px}.mock-subtitle{text-align:center;color:#7d8b9c;font-size:11px;margin-bottom:16px}.mock-upload{height:180px;border:2px dashed #cbdcf3;border-radius:12px;background:#f8fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.mock-file-icon svg{width:34px;height:38px}.mock-upload>b{font-size:12px}.mock-upload small{font-size:10px;color:#96a3b6}.mock-browse{margin-top:5px;color:var(--blue);font-size:10px;font-weight:800;background:#e7f0fe;border-radius:6px;padding:8px 15px}.mock-conversion{display:flex;align-items:center;justify-content:center;gap:27px;margin:19px 0}.mock-format{display:flex;align-items:center;gap:8px;color:#354a65;font-weight:800;font-size:12px}.mock-pdf-mark,.mock-word-mark{width:26px;height:28px;display:grid;place-items:center;color:#fff;font-weight:900;border-radius:5px}.mock-pdf-mark{background:#f26672}.mock-word-mark{background:#367bd5}.mock-arrow{color:#9bacc4}.mock-button{background:#1e6ddd;color:white;text-align:center;border-radius:8px;font-weight:800;font-size:12px;padding:14px}.mock-button span{margin-left:12px}.floating-note{position:absolute;z-index:5;background:#fff;box-shadow:0 13px 34px #24497f1c;border:1px solid #eaf0f6;border-radius:12px;display:flex;align-items:center;gap:9px;padding:13px;transform:rotate(-5deg)}.floating-note b{display:block;font-size:11px}.floating-note small{font-size:9px;color:#8a99a8;display:block;margin-top:4px}.note-one{top:72px;right:-3px;min-width:184px}.small-note-icon{display:grid;place-items:center;color:#1fb4a4;background:#e8faf6;width:34px;height:34px;border-radius:9px}.note-check{margin-left:auto;color:#0ea991;font-weight:800}.note-two{bottom:93px;left:-15px;transform:rotate(-5deg);gap:12px;padding:14px 17px}.calculator-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#fff2d9;color:#e99d21;font-size:23px;font-weight:900}.note-two b{font-size:11px}.note-two strong{color:#169b88}.visual-orbit{width:10px;height:10px;background:#e6ac43;border-radius:50%;position:absolute;left:6%;top:16%}.orbit-two{background:#1cbfb1;left:auto;right:3%;bottom:19%;height:15px;width:15px}.benefit-strip{border-top:1px solid #e9eef5;border-bottom:1px solid #e9eef5;background:#fff}.benefit-inner{min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:24px}.benefit-inner>div{display:flex;align-items:center;gap:13px;flex:1;min-width:0}.benefit-inner strong{font-size:12px;white-space:nowrap}.benefit-inner div>span:last-child{font-size:11px;color:#90a0b2;white-space:nowrap}.benefit-ico{color:#1970df;background:#eef5ff;border-radius:10px;width:36px;height:36px;display:grid;place-items:center;flex-shrink:0}.benefit-ico svg{width:19px}.benefit-line{height:27px;width:1px;background:#e6edf5}.section-pad{padding:100px 0}.section-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--blue);font-weight:800;letter-spacing:1.4px;margin-bottom:15px}.section-eyebrow>span{height:6px;width:6px;border-radius:50%;background:#18b5aa}.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.section-heading-row h2,.how-section h2,.faq-section h2{font-size:38px;line-height:1.25;margin-bottom:10px}.section-heading-row p,.how-subheading{color:#8190a4;font-size:14px;margin:0}.tools-count{border:1px solid #dfeaf8;border-radius:100px;color:#4575af;background:#f4f9ff;padding:9px 14px;font-size:12px;font-weight:800;white-space:nowrap}.category-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.tab{border:1px solid #e8edf3;background:#fff;color:#687a8f;font-weight:700;border-radius:9px;padding:11px 15px;font-size:12px;transition:.2s}.tab:hover{border-color:#abcaf0;color:var(--blue)}.tab.active{background:#1c67d7;border-color:#1c67d7;color:#fff;box-shadow:0 5px 12px #1c67d729}.tab span{margin-right:6px;font-size:14px}.tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.tool-card{position:relative;background:#fff;border:1px solid #e6ecf3;border-radius:15px;padding:21px;min-height:198px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 2px 3px #24466a04;transition:box-shadow .2s,transform .2s,border-color .2s;text-align:left;width:100%}.tool-card:hover{border-color:#c8dcf7;box-shadow:0 14px 32px #264e8c12;transform:translateY(-4px)}.tool-card-top{display:flex;align-items:start;justify-content:space-between;width:100%;margin-bottom:18px}.tool-icon{width:47px;height:47px;border-radius:12px;display:grid;place-items:center}.tool-icon svg{width:23px;height:23px}.tone-blue{background:#eaf3ff;color:#2372d9}.tone-red{background:#fff0f0;color:#e75c68}.tone-teal{background:#e5f9f5;color:#10a795}.tone-violet{background:#f3efff;color:#8b61d6}.tone-yellow{background:#fff5df;color:#dc9a2a}.tone-pink{background:#ffecf5;color:#d85b92}.tool-badge{background:#edf9f2;color:#25a078;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:800}.tool-card h3{font-size:14px;letter-spacing:-.25px;margin:0 0 8px;font-weight:800}.tool-card p{font-size:12px;color:#8391a1;line-height:1.65;margin:0 0 15px}.tool-card-bottom{width:100%;margin-top:auto;display:flex;align-items:center;justify-content:space-between;color:#7c8b9e;font-size:10px}.tool-card-bottom>span:last-child{color:#2b71d5;font-size:17px}.empty-state{text-align:center;padding:70px 15px}.empty-state>div{font-size:40px}.empty-state h3{margin:12px 0 8px}.empty-state p{color:var(--muted)}.button{border:0;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;font-size:13px;font-weight:800;transition:.2s}.button-primary{background:#1e69d8;color:white}.teacher-banner{padding:20px 0}.teacher-inner{background:linear-gradient(115deg,#1764ca 0%,#1553b8 60%,#134aa4 100%);border-radius:21px;min-height:326px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:46px 78px;overflow:hidden;position:relative}.teacher-copy{position:relative;z-index:2;color:#fff}.teacher-copy>span{color:#abd7ff;font-size:11px;letter-spacing:1px;font-weight:800}.teacher-copy h2{font-size:31px;letter-spacing:-1.3px;line-height:1.38;margin:13px 0 10px}.teacher-copy p{max-width:460px;color:#c7dcfa;line-height:1.8;font-size:13px;margin-bottom:24px}.button-white{background:white;color:#1b60c3}.button-white:hover{background:#eaf3ff;transform:translateY(-2px)}.teacher-board{width:314px;flex-shrink:0;background:#fff;position:relative;z-index:2;transform:rotate(5deg) translateY(15px);border-radius:12px;box-shadow:0 20px 45px #0b2f6b66;overflow:hidden;color:#2a3f59}.teacher-board-top{display:flex;align-items:center;gap:9px;padding:16px;border-bottom:1px solid #eaf0f6;font-size:12px}.teacher-board-top>span:last-child{margin-left:auto;color:#98a5b4;letter-spacing:2px}.teacher-board-icon{background:#eaf3ff;color:#2c78dd;padding:6px;border-radius:6px}.teacher-board-list{display:grid;gap:14px;padding:20px 18px;font-size:11px;font-weight:700}.teacher-board-list>div{display:flex;gap:10px;align-items:center}.board-check{background:#e9f8ef;color:#2cb085;width:23px;height:23px;display:grid;place-items:center;border-radius:50%}.teacher-board-footer{background:#f0fbf6;color:#32a57a;padding:13px 18px;font-size:11px;font-weight:800}.teacher-board-footer span{margin-right:8px}.teacher-doodle{position:absolute;color:#ffffff22;font-size:130px}.teacher-doodle-left{left:-32px;bottom:-95px}.teacher-doodle-right{right:17px;top:-70px}.how-section{text-align:center}.how-section .section-eyebrow{justify-content:center}.how-section h2{margin-bottom:12px}.how-subheading{margin-bottom:45px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}.how-card{position:relative;background:#fbfcfe;border:1px solid #eaf0f6;border-radius:15px;padding:29px 27px;min-height:223px}.how-number{font-size:13px;font-weight:800;color:#b9c6d6;position:absolute;right:26px;top:26px}.how-icon{width:51px;height:51px;border-radius:13px;display:grid;place-items:center;margin-bottom:22px}.how-icon svg{width:26px}.how-a{background:#e9f2ff;color:#206bd8}.how-b{background:#e7fbf8;color:#1eb5a2}.how-c{background:#fff4df;color:#e3a128}.how-card h3{font-size:15px;margin:0 0 9px}.how-card p{font-size:12px;line-height:1.75;color:#8290a3;margin:0;max-width:250px}.faq-section{background:#f7f9fd;padding:80px 0}.faq-container{display:grid;grid-template-columns:1fr 1.23fr;gap:90px}.faq-section h2{font-size:35px}.faq-section .faq-container>div>p{color:#8492a4;font-size:13px;line-height:1.9;max-width:320px}.faq-chat{margin-top:35px;color:#1d76d7;background:#e5f0ff;display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:9px;font-weight:800;font-size:12px}.faq-chat>span{color:#4e78a6}.faq-list details{border-bottom:1px solid #e1e8f1;padding:14px 0}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;cursor:pointer;font-size:13px;font-weight:800;padding:8px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#1e70d6;font-size:23px;font-weight:400}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:#78889b;font-size:12px;line-height:1.8;margin:0 30px 10px 0}.footer{background:#fff}.footer-main{display:flex;justify-content:space-between;align-items:start;padding:52px 0 42px}.footer-main p{margin:16px 0 0;color:#8d9aab;font-size:12px}.footer-links{display:flex;gap:30px;font-size:12px;font-weight:700;color:#667990}.footer-bottom{border-top:1px solid #ecf0f5;padding:24px 0 29px;color:#96a2b2;font-size:11px;display:flex;justify-content:space-between;gap:15px}
/* tool workspaces */
.modal-overlay{position:fixed;inset:0;background:rgba(17,34,56,.62);backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;padding:22px;overflow-y:auto}.modal-overlay[hidden]{display:none}.tool-modal{width:min(590px,100%);background:#fff;border-radius:18px;padding:27px;max-height:min(90vh,910px);overflow-y:auto;box-shadow:0 25px 80px #071d38aa;position:relative}.modal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.modal-heading{display:flex;align-items:center;gap:13px}.modal-tool-icon{display:grid;place-items:center;border-radius:12px;width:49px;height:49px;background:#eaf3ff;color:var(--blue)}.modal-tool-icon svg{width:25px}.modal-category{font-size:10px;color:#718297;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.modal-heading h2{font-size:21px;letter-spacing:-.7px;margin:4px 0 0}.modal-close{border:1px solid #e7edf3;background:#fff;color:#76869a;font-size:29px;line-height:1;border-radius:8px;width:34px;height:34px;display:grid;place-items:center;flex-shrink:0}.modal-description{color:#75869a;font-size:13px;line-height:1.7;margin:18px 0 23px}.tool-content{min-height:120px}.modal-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #edf1f5;color:#95a1b0;font-size:10px;margin-top:28px;padding-top:15px}.tool-form{display:grid;gap:17px}.field{display:grid;gap:7px}.field-label{font-size:12px;font-weight:800;color:#42546c}.field-hint{font-size:11px;color:#91a0b0}.text-input,.text-area,.select-input{border:1px solid #dce5ef;background:#fff;border-radius:9px;color:#29405c;outline:0;width:100%;padding:13px 14px;font-size:14px;transition:border .2s,box-shadow .2s}.text-input:focus,.text-area:focus,.select-input:focus{border-color:#5b96e2;box-shadow:0 0 0 3px #e4f0ff}.text-area{resize:vertical;min-height:127px;line-height:1.7}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-row-three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.action-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:3px}.button-soft{border:1px solid #dce8f8;background:#f4f8fe;color:#1e63bc}.button-soft:hover{background:#e6f0fe}.button-outline{border:1px solid #dce5ef;color:#60748b;background:#fff}.button-outline:hover{background:#f5f8fc}.button-small{font-size:11px;padding:9px 12px}.result-card{background:#f0f7ff;border:1px solid #d9e9fe;border-radius:12px;padding:20px;color:#245284;margin-top:15px}.result-card .result-kicker{color:#799abf;font-size:11px;font-weight:800;margin-bottom:7px}.result-big{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:35px;letter-spacing:-1.4px;word-break:break-word}.result-card p{font-size:12px;color:#6785a5;margin:9px 0 0}.result-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.result-stat{border:1px solid #e2eaf4;background:#fafcff;border-radius:9px;padding:14px;text-align:center}.result-stat strong{display:block;font-size:21px;color:#1d66d4}.result-stat span{display:block;color:#8595a7;font-size:10px;margin-top:6px}.notice{background:#fff8e9;color:#8c6d31;border:1px solid #f7eac6;border-radius:9px;padding:12px 14px;font-size:11px;line-height:1.7}.notice.info{background:#f4f8fe;border-color:#e3edf9;color:#6982a0}.file-drop{border:2px dashed #bdcfea;background:#f8fbff;min-height:160px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:19px;cursor:pointer;transition:.2s}.file-drop:hover,.file-drop.dragover{background:#eff6ff;border-color:#3a81d8}.file-drop-icon{width:47px;height:47px;background:#e8f2ff;color:var(--blue);display:grid;place-items:center;border-radius:12px}.file-drop-icon svg{width:24px}.file-drop b{font-size:13px}.file-drop span{font-size:11px;color:#8999ab}.file-drop input{display:none}.file-list{display:grid;gap:7px}.file-item{display:flex;align-items:center;gap:10px;background:#f7f9fc;border:1px solid #ebeff4;border-radius:9px;padding:11px;color:#3f536e;font-size:12px}.file-item svg{color:#2474d7;flex-shrink:0}.file-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{white-space:nowrap;color:#9aa8b8;font-size:10px}.file-remove{border:0;background:transparent;color:#a6b1be;font-size:18px;line-height:1}.file-remove:hover{color:#dc5361}.form-help{font-size:11px;color:#93a0b0;line-height:1.7}.segmented{display:flex;border:1px solid #e0e8f2;background:#f7f9fc;border-radius:10px;padding:4px;gap:4px}.segmented button{border:0;background:transparent;color:#6e8197;border-radius:7px;font-size:11px;font-weight:800;padding:10px 8px;flex:1}.segmented button.active{background:white;color:var(--blue);box-shadow:0 2px 6px #25456f18}.dynamic-rows{display:grid;gap:9px}.dynamic-row{display:flex;gap:8px;align-items:center}.dynamic-row .text-input{min-width:0}.dynamic-row .remove-row{flex:0 0 37px;border:1px solid #f1dfe0;background:#fff6f6;border-radius:8px;height:42px;color:#ce5c63;font-size:17px}.result-preview{white-space:pre-wrap;border:1px solid #e7edf4;background:#fafcff;padding:15px;border-radius:9px;font-size:12px;line-height:1.75;max-height:260px;overflow:auto;overflow-wrap:anywhere}.checkbox-line{display:flex;gap:8px;align-items:center;font-size:12px;color:#546981}.checkbox-line input{accent-color:var(--blue)}.tool-loading{display:flex;gap:10px;align-items:center;background:#ecf7ff;border:1px solid #dcecfb;border-radius:9px;padding:13px;font-size:12px;color:#4575a8}.spinner{width:17px;height:17px;border:2px solid #c9e0fa;border-top-color:#2070d7;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.mini-table{width:100%;border-collapse:collapse;font-size:12px}.mini-table th,.mini-table td{border-bottom:1px solid #e6edf6;padding:10px;text-align:left}.mini-table th{background:#f6f9fd;color:#536b88}.mini-table td{color:#62788e}.preview-image{width:100%;max-height:220px;object-fit:contain;background:#eff3f8;border-radius:9px;border:1px solid #e8edf4}.toast-stack{position:fixed;right:22px;bottom:22px;z-index:140;display:grid;gap:9px;max-width:min(390px,calc(100vw - 44px))}.toast{background:#223d5b;color:white;padding:13px 17px;border-radius:11px;font-size:12px;box-shadow:0 10px 25px #1b315844;animation:toast-in .2s ease}.toast.error{background:#ba4055}.toast.success{background:#1d877b}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.hero-grid{gap:8px}.mock-app{width:335px}.note-one{right:-3px}.note-two{left:-10px}.benefit-inner div>span:last-child{display:none}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-inner{padding:46px 56px}}
@media(max-width:800px){.site-header{height:72px}.main-nav,.header-cta{display:none}.mobile-toggle{border:1px solid #e0e9f4;background:white;color:#1d65ce;display:grid;place-items:center;width:39px;height:39px;border-radius:9px;font-size:21px}.mobile-nav{background:white;border-top:1px solid #edf1f5;box-shadow:0 12px 25px #1e4a6d16;padding:15px 24px;flex-direction:column;gap:17px;font-size:13px;font-weight:700}.mobile-nav.show{display:flex}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:67px 0 20px}.hero-visual{height:430px}.mock-app{width:355px}.hero h1{font-size:clamp(40px,7vw,57px)}.hero-description{max-width:600px}.note-one{right:9%}.note-two{left:8%;bottom:44px}.benefit-inner{min-height:95px}.benefit-inner>div{justify-content:center;flex-direction:column;gap:5px;text-align:center}.benefit-inner strong{font-size:10px}.benefit-ico{height:31px;width:31px}.benefit-line{height:35px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-inner{padding:40px}.teacher-board{width:255px}.faq-container{gap:35px}.section-pad{padding:70px 0}}
@media(max-width:580px){.container{padding:0 19px}.brand-text{font-size:20px}.hero-copy{padding:50px 0 12px}.hero h1{font-size:clamp(35px,9.15vw,49px);letter-spacing:-2.5px}.hero-description{font-size:14px}.eyebrow{font-size:9px;letter-spacing:.65px}.hero-search-wrap{gap:7px}.search-box{height:57px;padding:0 11px}.search-box input{font-size:12px}.search-shortcut{display:none}.search-go{width:53px;flex-basis:53px}.hero-reassurance{font-size:10px;gap:9px}.hero-visual{height:345px}.mock-app{width:264px;border-radius:12px;transform:rotate(2deg)}.mock-app-header{height:39px;padding:0 13px;font-size:10px}.mock-app-body{padding:12px 16px 18px}.mock-subtitle{font-size:9px;margin-bottom:8px}.mock-upload{height:132px;gap:3px}.mock-file-icon svg{height:30px}.mock-upload>b{font-size:10px}.mock-upload small{font-size:8px}.mock-browse{padding:5px 10px}.mock-conversion{margin:11px 0}.mock-button{padding:10px;font-size:10px}.floating-note{padding:8px}.note-one{right:-5px;top:24px;min-width:155px}.note-two{left:-4px;bottom:22px}.floating-note b{font-size:9px}.floating-note small{font-size:8px}.small-note-icon{width:26px;height:26px}.calculator-icon{width:30px;height:30px;font-size:18px}.benefit-inner{gap:8px}.benefit-inner>div strong{font-size:9px}.benefit-inner .benefit-ico{width:29px;height:29px}.section-heading-row h2,.how-section h2,.faq-section h2{font-size:29px;letter-spacing:-1.2px}.section-heading-row{align-items:start}.tools-count{font-size:10px;padding:7px 10px}.category-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:9px;margin-right:-19px}.tab{flex-shrink:0;padding:10px 13px;font-size:11px}.tool-grid{gap:12px}.tool-card{padding:16px;min-height:184px;border-radius:12px}.tool-card h3{font-size:12px}.tool-card p{font-size:11px}.tool-card-bottom{font-size:9px}.tool-icon{width:40px;height:40px}.tool-icon svg{height:21px;width:21px}.tool-badge{font-size:8px}.teacher-inner{padding:34px 26px 18px;display:block}.teacher-copy h2{font-size:25px}.teacher-copy p{font-size:12px}.teacher-board{margin:30px auto -50px;width:min(300px,100%);transform:rotate(5deg)}.teacher-banner{padding:0}.how-grid{grid-template-columns:1fr;gap:12px}.how-card{min-height:unset;padding:20px}.how-icon{margin-bottom:13px}.faq-container{grid-template-columns:1fr;gap:15px}.faq-section{padding:65px 0}.faq-chat{margin-top:14px}.footer-main{flex-direction:column;gap:30px;padding:38px 0}.footer-links{gap:20px;flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:7px}.tool-modal{padding:19px 16px;max-height:94vh}.modal-overlay{padding:10px}.modal-heading h2{font-size:18px}.modal-foot{font-size:9px}.form-row-three{grid-template-columns:1fr 1fr}.result-big{font-size:28px}.segmented{flex-wrap:wrap}.segmented button{min-width:30%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* v1.8.1 FIX: long uploaded filenames must never expand modal or page width. */
.modal-overlay,.tool-modal,.tool-content,.tool-form,.file-list,.file-item,.file-item-name{min-width:0;max-width:100%;box-sizing:border-box}
.tool-modal{overflow-x:hidden;}
.file-list{width:100%;overflow-x:hidden}
.file-item{width:100%;display:flex;gap:10px;min-width:0}
.file-item-name{display:block;flex:1 1 0;min-width:0;width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-item .file-size,.file-item .file-remove,.file-item>svg{flex:0 0 auto}
.file-drop,.file-drop b,.file-drop span{max-width:100%;overflow-wrap:anywhere}
@media(max-width:420px){.tool-modal{padding:18px}.file-item{gap:6px;padding:10px 8px}.file-item .file-size{font-size:9px}}
