.tool__app {   --accent:#0047AB; --border:#ddd; --radius:8px;  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.tool__app .calc { display:grid; grid-template-columns:1fr; gap:26px; }
@media(min-width:820px) { .tool__app .calc { grid-template-columns:1.1fr 1fr; } }
.tool__app .panel { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:24px; }
.tool__app .panel h2 { font-size:18px; font-weight:800; margin:0 0 16px; }
.tool__app .field { margin-bottom:16px; }
.tool__app .field label { display:block; font-size:12px; font-weight:700; text-transform:uppercase; color:#666; margin-bottom:6px; letter-spacing:.5px; }
.tool__app .field input[type=text], .tool__app .field textarea { width:100%; padding:11px 12px; border:1px solid #ccc; border-radius:6px; font-size:15px; font-family:var(--mono); }
.tool__app .field textarea { min-height:80px; resize:vertical; }
.tool__app .field input:focus, .tool__app .field textarea:focus { border-color:var(--accent); outline:none; box-shadow:0 0 0 3px rgba(0,71,171,.1); }
.tool__app .two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tool__app select { width:100%; padding:10px; border:1px solid #ccc; border-radius:6px; font-size:14px; background:#fff; }
.tool__app input[type=color] { width:100%; height:42px; border:1px solid #ccc; border-radius:6px; padding:3px; background:#fff; cursor:pointer; }
.tool__app .hint { font-size:11.5px; color: #6b6b6b; margin-top:4px; }
.tool__app .preview { display:flex; flex-direction:column; align-items:center; justify-content:center; }
.tool__app #qrbox { width:100%; max-width:300px; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; border:1px dashed #ccc; border-radius:8px; background:#fff; overflow:hidden; }
.tool__app #qrbox canvas { max-width:100%; height:auto; image-rendering:pixelated; }
.tool__app .dl { display:flex; gap:12px; margin-top:18px; width:100%; }
.tool__app .btn { flex:1; background:var(--accent); color:#fff; border:none; padding:12px; border-radius:6px; font-weight:700; font-size:14px; cursor:pointer; text-align:center; }
.tool__app .btn.sec { background:#fff; color:var(--accent); border:1px solid var(--accent); }
.tool__app .btn.small { flex:none; padding:8px 14px; font-size:12px; }
.tool__app .filewrap { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.tool__app .filewrap input[type=file] { font-size:13px; }