.tool-page{padding:46px 0 80px}.breadcrumbs{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:34px}.breadcrumbs span{opacity:.45}.tool-intro{max-width:820px;margin-bottom:30px}.tool-intro .eyebrow{margin-bottom:16px}.tool-intro h1{font-size:clamp(38px,6vw,66px);line-height:1;letter-spacing:-.055em;margin:0 0 18px}.tool-intro>p{font-size:18px;color:var(--muted);max-width:720px;margin:0}.tool-shell{background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.tool-shell.cctv{border-top:5px solid var(--mint-dark)}.tool-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#59635f;margin-bottom:8px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field-grid.three{grid-template-columns:repeat(3,1fr)}.field{min-width:0}.input-wrap{position:relative}.input-wrap input,.field input,.field select{width:100%;height:52px;border:1px solid #cbc8bf;border-radius:12px;background:#fff;padding:0 14px;color:var(--ink);outline:0}.input-wrap input{padding-right:60px}.input-wrap span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px}.field input:focus,.field select:focus{border-color:#7a9f31;box-shadow:0 0 0 3px rgba(158,204,67,.18)}.primary-button,.secondary-button,.download-button{border:0;border-radius:12px;min-height:50px;padding:0 22px;font-weight:800;cursor:pointer;transition:.15s}.primary-button{background:var(--ink);color:#fff}.primary-button:hover{background:#2b3935}.secondary-button{background:#e8e5dc;color:var(--ink)}.download-button{background:var(--mint);color:var(--ink);display:inline-flex;align-items:center;justify-content:center}.button-row{display:flex;gap:12px;margin-top:22px}.result-panel{margin-top:24px;padding:24px;border-radius:18px;background:#edf5d9;border:1px solid #cbdca8}.result-panel.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.result-label{text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800;color:#64705d}.dark .result-label{color:#aebbb6}.result-value{font-size:clamp(34px,6vw,56px);line-height:1.05;font-weight:850;letter-spacing:-.05em;margin:7px 0}.result-meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:13px}.dark .result-meta{color:#bdc6c3}.result-meta strong{color:var(--ink)}.dark .result-meta strong{color:#fff}.drop-zone{position:relative;min-height:210px;border:1.5px dashed #a9aea7;border-radius:18px;display:grid;place-items:center;text-align:center;padding:28px;background:#faf9f5;transition:.18s}.drop-zone.drag{border-color:#799f2c;background:#f0f8df}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-zone strong{display:block;font-size:19px;margin:10px}.drop-zone p{margin:0;color:var(--muted);font-size:13px}.upload-mark{margin:auto;width:48px;height:48px;border-radius:14px;background:var(--mint);display:grid;place-items:center;font-size:22px}.image-stage{display:none;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.image-stage.active{display:grid}.preview-card{border:1px solid var(--line);border-radius:16px;padding:14px;min-width:0}.preview-card img,.preview-card canvas{display:block;max-width:100%;width:100%;height:260px;object-fit:contain;background:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.preview-caption{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--muted)}.privacy-note{display:flex;gap:12px;align-items:center;margin:16px 2px 0;color:#53605c;font-size:13px}.privacy-dot{width:10px;height:10px;border-radius:50%;background:var(--mint-dark);box-shadow:0 0 0 5px rgba(156,207,50,.16)}.content-grid{display:grid;grid-template-columns:1fr 280px;gap:70px;margin-top:70px}.article h2{font-size:28px;letter-spacing:-.035em;margin:42px 0 12px}.article h2:first-child{margin-top:0}.article h3{font-size:17px;margin:24px 0 6px}.article p,.article li{color:#59635f}.steps{counter-reset:steps;padding:0;list-style:none}.steps li{position:relative;padding:0 0 22px 46px}.steps li:before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:-3px;width:30px;height:30px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;font-weight:800;color:var(--ink)}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:750}.faq details p{font-size:14px}.sidebar-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px}.related-list{display:grid;gap:10px;position:sticky;top:24px}.related-list a{display:flex;justify-content:space-between;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:13px;font-weight:700}.related-list a:hover{background:var(--mint)}.switch-row{display:flex;gap:8px;margin-bottom:20px}.switch-row button{border:1px solid var(--line);background:transparent;padding:9px 14px;border-radius:100px;cursor:pointer}.switch-row button.active{background:var(--ink);color:#fff}.range-row{display:grid;grid-template-columns:1fr 72px;gap:14px;align-items:center}.range-row input[type=range]{accent-color:#739623}.range-row output{font-weight:800;text-align:right}.hidden{display:none!important}.status-message{font-size:13px;color:var(--muted);margin-top:10px}.status-message.error{color:#b54432}.status-message.success{color:#497b12}@media(max-width:760px){.tool-page{padding-top:28px}.tool-shell{padding:18px;border-radius:20px}.field-grid,.field-grid.three{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr;gap:42px}.image-stage.active{grid-template-columns:1fr}.preview-card img,.preview-card canvas{height:220px}.button-row{flex-direction:column}.button-row>*{width:100%}.result-meta{flex-direction:column;gap:5px}}
