.dd-header { text-align:center; padding:1.6rem 1rem .4rem; }
.dd-header-emoji { font-size:2.4rem; display:block; }
.dd-header h1 { font-size:1.5rem; font-weight:800; margin:.3rem 0 .2rem; }
.dd-header p { color:var(--bs-secondary,#6b7280); margin:0; font-size:.9rem; }

.dd-shell { max-width:720px; margin:0 auto; padding:1rem; }
.dd-card { border-radius:16px; background:var(--bs-body-bg,#fff); box-shadow:0 1px 3px rgba(0,0,0,.06), 0 0 0 1px rgba(0,0,0,.07); padding:1.2rem; }

.dd-inputs { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
@media (max-width:520px){ .dd-inputs { grid-template-columns:1fr; } }
.dd-label { font-size:.82rem; font-weight:600; margin-bottom:.35rem; display:block; }
.dd-input { width:100%; padding:.65rem .8rem; border-radius:10px; border:1px solid rgba(0,0,0,.18); font-size:1rem; }
.dd-input:focus { outline:none; border-color:#6366f1; box-shadow:0 0 0 3px rgba(99,102,241,.15); }
.dd-check { display:flex; align-items:center; gap:.45rem; margin-top:.8rem; font-size:.85rem; color:var(--bs-body-color,#111); }

.dd-hero { text-align:center; margin:1.2rem 0 .4rem; padding:1rem; border-radius:14px;
           background:linear-gradient(135deg,#6366f1,#8b5cf6); color:#fff; }
.dd-hero .big { font-size:1.6rem; font-weight:800; line-height:1.3; }
.dd-hero .sub { font-size:.85rem; opacity:.9; margin-top:.2rem; }

.dd-out { display:grid; grid-template-columns:repeat(2,1fr); gap:.6rem; margin-top:1rem; }
@media (max-width:520px){ .dd-out { grid-template-columns:1fr; } }
.dd-stat { background:var(--bs-secondary-bg,#f4f5f7); border-radius:10px; padding:.7rem .85rem; }
.dd-stat .k { font-size:.74rem; color:var(--bs-secondary,#6b7280); font-weight:600; }
.dd-stat .v { font-family:ui-monospace,Consolas,monospace; font-size:1.05rem; font-weight:700; margin-top:.15rem; }
.dd-err { color:#ef4444; font-size:.85rem; margin-top:.7rem; min-height:1em; text-align:center; }
.dd-hint { color:var(--bs-secondary,#6b7280); font-weight:400; font-size:.78rem; }
