.tool-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 1.5rem; align-items: start; padding: 1.5rem 0 4rem; }
.tool-panel { overflow: hidden; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 10px 30px rgba(27,36,55,.06); }
.tool-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; background: #fafbfe; border-bottom: 1px solid var(--line); }
.tool-panel-head h2 { margin: 0; font-size: 1.05rem; }
.tool-body { display: grid; gap: 1rem; padding: clamp(1rem, 3vw, 1.5rem); }
.tool-sidebar { position: sticky; top: 90px; display: grid; gap: 1rem; }
.privacy-card { padding: 1rem; color: var(--muted); background: #f1fbf8; border: 1px solid #cbece3; border-radius: 14px; font-size: .88rem; }
.privacy-card strong { display: block; color: #08634f; }
.preview-box { display: grid; place-items: center; min-height: 260px; padding: 1rem; overflow: auto; background: #edf0f5; border: 1px solid var(--line); border-radius: 13px; }
.preview-box canvas { background: white; box-shadow: 0 6px 20px rgba(20,27,42,.16); }
.qr-output { min-height: 280px; background: white; }
.qr-output img, .qr-output canvas { width: min(100%, 260px) !important; height: auto !important; image-rendering: pixelated; box-shadow: none; }
.font-results { display: grid; gap: .8rem; }
.font-sample { padding: 1rem; background: white; border: 1px solid var(--line); border-radius: 12px; }
.font-sample-head { display: flex; justify-content: space-between; gap: .7rem; margin-bottom: .8rem; color: var(--muted); font-size: .8rem; }
.font-sample-text { overflow-wrap: anywhere; line-height: 1.6; }
.stat-row { display: flex; flex-wrap: wrap; gap: .6rem 1rem; color: var(--muted); font-size: .85rem; }
.size-presets { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.size-preset { padding: .7rem .5rem; text-align: left; background: white; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.size-preset:hover, .size-preset.active { color: var(--brand-dark); background: #f0edff; border-color: #bcb2f8; }
.output-list { display: grid; gap: .8rem; }
.output-card { padding: 1rem; background: white; border: 1px solid var(--line); border-radius: 12px; }
.comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.comparison figure { margin: 0; }
.comparison img { width: 100%; background: var(--soft); border-radius: 10px; }
.comparison figcaption { margin-top: .4rem; color: var(--muted); font-size: .82rem; }
@media (max-width: 900px) { .tool-layout { grid-template-columns: 1fr; } .tool-sidebar { position: static; } }
@media (max-width: 560px) { .size-presets, .comparison { grid-template-columns: 1fr; } .tool-panel-head { align-items: flex-start; flex-direction: column; } }

