*{box-sizing:border-box}body{margin:0}button,input,textarea{font-family:inherit}a{color:inherit}h1,h2,p{margin:0}h1{font-size:var(--dd-type-title-size);line-height:var(--dd-type-title-line);font-weight:700;letter-spacing:0}h2{font-size:var(--dd-type-section-size);line-height:var(--dd-type-section-line)}
.app{max-width:430px;min-height:100dvh;margin:auto;padding:calc(20px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));gap:16px;font-size:14px;line-height:20px}.app[data-admin=true]{max-width:660px}.header{display:flex;align-items:center;gap:12px;min-height:44px}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500;line-height:24px}.brand img{display:block;width:28px;height:28px}.header .spacer{flex:1}.header .dd-button{min-width:112px;min-height:44px;width:auto}.dd-button{width:100%;min-height:56px;font-size:14px;line-height:20px;font-weight:500;text-decoration:none}.dd-button.compact{min-height:44px}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:12px;background:var(--dd-color-raised)}.card.line{border:1px solid var(--dd-color-line);background:var(--dd-color-surface)}.card.accent{background:var(--dd-color-accent-soft)}.identity{padding:20px;gap:8px;border-radius:16px}.sub{color:var(--dd-color-secondary)}.strong{font-weight:500}.caption,.demo{font-size:12px;line-height:16px;color:var(--dd-color-muted)}.demo{margin-top:8px}.dd-badge{align-self:flex-start}.selected{font-size:20px;line-height:28px;font-weight:700;text-align:center;padding:4px 0;color:var(--dd-color-accent-text)}.review-card{gap:12px}.dd-label{font-size:12px;line-height:16px;font-weight:400;margin-bottom:0;color:var(--dd-color-secondary)}.dd-field{font-size:16px;line-height:24px;min-height:52px}.review-card textarea{resize:vertical;min-height:72px}.alert{padding:12px 16px;border-radius:12px;background:var(--dd-color-warning-soft);color:var(--dd-color-warning);font-size:14px;line-height:20px}.status{align-self:flex-start}.error-box{border:1px solid var(--dd-color-danger);padding:12px;border-radius:8px;color:var(--dd-color-danger)}.guide-frame{width:100%;height:min(72dvh,780px);min-height:450px;border:1px solid var(--dd-color-line);border-radius:12px;background:var(--dd-color-surface)}.guide-page{max-width:840px}.admin-form{display:flex;flex-direction:column;gap:12px}.admin-form label{display:flex;flex-direction:column;gap:6px}.request-list{display:flex;flex-direction:column;gap:16px}.empty{padding:24px 16px;text-align:center;color:var(--dd-color-secondary)}.link-wrap{overflow-wrap:anywhere;word-break:break-word}.preview-banner{font-size:12px;line-height:16px;color:var(--dd-color-warning);background:var(--dd-color-warning-soft);padding:10px 12px;border-radius:8px}.step-list{padding-left:22px;margin:0;color:var(--dd-color-secondary)}.step-list li+li{margin-top:12px}.inline-error{color:var(--dd-color-danger);font-size:14px;line-height:20px}.hidden{display:none!important}.loading{opacity:.65}.field-count{font-size:12px;text-align:right;color:var(--dd-color-secondary)}
@media(min-width:600px){.app{padding-top:32px}}@media(max-width:359px){.app{padding-inline:16px}.header{gap:8px}.brand{gap:8px}.header .dd-button{min-width:96px}.two{gap:8px}}@media(prefers-reduced-motion:no-preference){.dd-button{transition:background .14s,opacity .14s}}@media(forced-colors:active){.card,.alert,.preview-banner{border:1px solid CanvasText}}
/* The shared mobile safeguard uses !important for 44px minimums. This module's
   reviewed primary controls are 56px; the header and short actions stay 44px. */
.app .dd-button{min-height:var(--dd-space-56)!important}.app .header .dd-button,.app .dd-button.compact{min-height:var(--dd-space-44)!important}
.app h1[tabindex="-1"]:focus{outline:none}
