.dg-btn{--c:var(--chamfer-sm);min-height:48px;font:600 12px/16px var(--font-mono);letter-spacing:.2em;text-transform:uppercase;padding:var(--space-3) var(--space-6);border:0;cursor:pointer;color:var(--ink);background:var(--iron);box-shadow:inset 0 0 0 1px var(--line-strong);clip-path:polygon(var(--c) 0,calc(100% - var(--c)) 0,100% var(--c),100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,var(--c) 100%,0 calc(100% - var(--c)),0 var(--c));transition:filter 150ms ease-out,transform 150ms ease-out}
.dg-btn--primary{background:linear-gradient(180deg,var(--gold-bright),var(--gold) 55%,var(--gold-deep));color:var(--on-gold);box-shadow:var(--shadow-emboss),var(--shadow-gilt)}
.dg-btn--danger{background:linear-gradient(180deg,var(--wax-bright),var(--danger));color:var(--on-wax);box-shadow:var(--shadow-emboss)}
.dg-btn--ghost{background:transparent;color:var(--gold-text);box-shadow:inset 0 0 0 1px var(--line-strong)}
.dg-btn:hover:not(:disabled){filter:brightness(1.08)}
.dg-btn:active:not(:disabled){transform:scale(.98);filter:brightness(.9)}
.dg-btn:disabled{opacity:.5;cursor:not-allowed}
.dg-btn:focus-visible{clip-path:none;outline:2px solid var(--focus);outline-offset:2px}
.dg-panel{--c:var(--chamfer-md);position:relative;background:var(--surface-1);color:var(--ink);padding:var(--space-8);clip-path:polygon(var(--c) 0,calc(100% - var(--c)) 0,100% var(--c),100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,var(--c) 100%,0 calc(100% - var(--c)),0 var(--c));box-shadow:inset 0 0 0 1px var(--gold-deep),inset 0 0 0 4px var(--surface-1),inset 0 0 0 5px var(--line-mid)}
.dg-panel--glass{background:color-mix(in srgb,var(--surface-0) 85%,transparent);backdrop-filter:blur(12px)}
.dg-panel::before{content:"";position:absolute;inset:10px;pointer-events:none;background:linear-gradient(var(--gold),var(--gold)) 0 0/20px 2px no-repeat,linear-gradient(var(--gold),var(--gold)) 0 0/2px 20px no-repeat,linear-gradient(var(--gold),var(--gold)) 100% 100%/20px 2px no-repeat,linear-gradient(var(--gold),var(--gold)) 100% 100%/2px 20px no-repeat}
.dg-panel--briefing{clip-path:none;background:var(--surface-2);padding:var(--space-6) var(--space-8);box-shadow:inset 3px 0 0 var(--ember)}
.dg-panel--briefing::before{display:none}
.dg-panel__title{font:600 24px/28px var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-text);margin:0 0 var(--space-4)}
.dg-plate{--c:var(--chamfer-sm);display:inline-block;padding:var(--space-3) var(--space-8);font:700 28px/1 var(--font-display);letter-spacing:.12em;color:var(--steel);background:radial-gradient(circle,var(--steel) 0 2px,transparent 3px) 8px 8px/auto no-repeat,radial-gradient(circle,var(--steel) 0 2px,transparent 3px) calc(100% - 8px) 8px/auto no-repeat,radial-gradient(circle,var(--steel) 0 2px,transparent 3px) 8px calc(100% - 8px)/auto no-repeat,radial-gradient(circle,var(--steel) 0 2px,transparent 3px) calc(100% - 8px) calc(100% - 8px)/auto no-repeat,var(--iron);box-shadow:inset 0 0 0 1px var(--gold-deep),var(--shadow-emboss);clip-path:polygon(var(--c) 0,calc(100% - var(--c)) 0,100% var(--c),100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,var(--c) 100%,0 calc(100% - var(--c)),0 var(--c))}
.dg-field{display:flex;flex-direction:column;gap:var(--space-2);font:400 16px/24px var(--font-body);color:var(--ink)}
.dg-field__label{font:600 12px/16px var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.dg-field__input{min-height:48px;font:400 16px/24px var(--font-body);color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-bottom:2px solid var(--gold-deep);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}
.dg-field__input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.dg-field__hint{font-size:14px;line-height:20px;color:var(--ink-muted)}
.dg-seal{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:var(--radius-full);font:700 24px/1 var(--font-display);letter-spacing:.04em;color:var(--on-wax);background:radial-gradient(circle at 35% 30%,var(--wax-bright),var(--wax) 62%);box-shadow:inset 0 0 0 4px var(--wax),inset 0 0 0 5px var(--gold-deep),0 4px 10px rgba(0,0,0,.45)}
.dg-rule{display:flex;align-items:center;gap:var(--space-3);color:var(--gold-text)}
.dg-rule::before,.dg-rule::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-deep) 35%,var(--gold))}
.dg-rule::after{transform:scaleX(-1)}
.dg-rule__gem{width:10px;height:10px;transform:rotate(45deg);background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep))}
.dg-banner{--c:20px;display:flex;justify-content:center;padding:var(--space-3) calc(var(--space-8) + var(--c));background:linear-gradient(180deg,var(--wax-bright),var(--wax));color:var(--on-wax);clip-path:polygon(0 0,100% 0,calc(100% - var(--c)) 50%,100% 100%,0 100%,var(--c) 50%);box-shadow:inset 0 2px 0 var(--gold-deep),inset 0 -2px 0 var(--gold-deep)}
.dg-banner__text{font:600 24px/28px var(--font-display);letter-spacing:.06em;text-transform:uppercase}
.dg-scroll{--c:16px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) calc(var(--space-6) + var(--c)) var(--space-3) var(--space-3);background:var(--parchment);color:var(--on-parchment);clip-path:polygon(0 0,100% 0,calc(100% - var(--c)) 50%,100% 100%,0 100%);box-shadow:inset 0 -4px 0 rgba(26,20,8,.18)}
.dg-scroll__seal{flex:none;width:32px;height:32px;border-radius:var(--radius-full);background:radial-gradient(circle at 35% 30%,var(--wax-bright),var(--wax) 62%);box-shadow:inset 0 0 0 2px var(--wax),0 2px 4px rgba(26,20,8,.4)}
.dg-scroll__text{font:600 16px/24px var(--font-display);letter-spacing:.06em;text-transform:uppercase}
.dg-kicker{margin:0;font:600 12px/16px var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}
.dg-console{position:relative;background:var(--surface-0);padding:var(--space-8);color:var(--phosphor);font:500 12px/16px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.dg-console::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0 2px,transparent 2px 4px),radial-gradient(circle at 0 0,rgba(230,212,138,.14),transparent 55%),radial-gradient(circle at 100% 100%,rgba(143,224,122,.12),transparent 55%)}
.dg-console__screen{position:relative}
@media (prefers-reduced-motion:reduce){.dg-btn{transition:none}}
