/* PunchWallet: espresso structure, milk surfaces, roasted-orange emphasis. */
:root{
  --ink:#2B211D;
  --paper:#FBF8F3;
  --accent:#AD4325;
  --accent-hover:#8E331B;
  --muted:#716257;
  --line:#D9CFC3;
  --soft:#F1E7D8;
  --crema:#E9BA77;
  --espresso-soft:#44332A;
  --on-dark:#FBF8F3;
  --muted-on-dark:#D1BDA9;
  --danger:#982E2E;
  color:var(--ink);
  background:var(--paper);
}
body{color:var(--ink);background:var(--paper)}
::selection{background:var(--crema);color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.brand{color:var(--ink)}
.btn{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}
.btn:hover{background:var(--espresso-soft);border-color:var(--espresso-soft)}
.btn.secondary{border-color:#B6A493;color:var(--ink);background:transparent}
.btn.secondary:hover{background:var(--soft);border-color:#96806C}
.btn.quiet{color:var(--ink);background:transparent;border-color:transparent}
.btn.quiet:hover{background:transparent;border-color:transparent}
.btn.danger{color:var(--danger);border-color:#BE8580;background:#FFF8F5}
.btn.danger:hover{background:#F7E4DF;border-color:var(--danger)}
.hero-aside>.btn,.closing-cta .btn{background:var(--accent);border-color:var(--accent);color:var(--on-dark)}
.hero-aside>.btn:hover,.closing-cta .btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.sample-space{background:var(--soft)}
.sample-card{background:var(--ink);color:var(--on-dark);box-shadow:0 16px 32px #2B211D1C}
.sample-top,.sample-rule{color:var(--on-dark)}
.card-edition,.sample-rule>span:last-child{color:var(--muted-on-dark)}
.sample-rule{border-color:#806854}
.sample-punch{border-color:#A58B72;color:var(--muted-on-dark)}
.sample-punch.is-punched{background:var(--crema);border-color:var(--crema);color:var(--ink)}
.sample-control{color:var(--ink)}
.round-action{border-color:#92765D;color:var(--ink)}
.round-action:hover{background:var(--accent);color:var(--on-dark);border-color:var(--accent)}
.reward-unlocked .sample-card{background:var(--accent)}
.reward-unlocked .sample-rule{border-color:#D99A7C}
.reward-unlocked .sample-rule>span:last-child,.reward-unlocked .card-edition{color:#F9D8BF}
.journey-panel{background:var(--soft)}
.journey-panel.is-open{background:var(--paper)}
.journey-trigger{color:var(--ink)}
.journey-trigger:hover{background:#E4D3BD}
.is-open>.journey-trigger{background:transparent}
.journey-copy .micro{color:var(--muted)}
.workbench-section{background:var(--ink);color:var(--on-dark)}
.workbench-copy em{color:var(--crema)}
.workbench-copy>.muted{color:var(--muted-on-dark)}
.workbench-copy .btn{color:var(--on-dark);border-color:#B79A7B}
.workbench-copy .btn:hover{background:var(--espresso-soft);border-color:var(--crema)}
.workbench{background:var(--paper);color:var(--ink);border-color:#8B725D}
.preview-tabs{border-color:var(--line)}
.preview-tabs button{color:var(--muted)}
.preview-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--accent)}
.preview-stat>span,.preview-stat strong>span,.preview-stat-row span,.preview-footnote{color:var(--muted)}
.preview-stat-row,.preview-activity-row{border-color:var(--line)}
.closing-cta{background:var(--crema)}
.closing-cta h2 em{color:var(--ink)}
.editorial-footer{color:var(--muted)}
.footer-wordmark{color:var(--ink)}
.slot-meta,.slot-note{color:#555049}
body[data-surface=app] .panel,body[data-surface=app] .metrics{background:#FFFDF9}
body[data-surface=app] .panel.soft{background:var(--soft)}
body[data-surface=app] .card-preview{background:var(--ink);color:var(--on-dark);box-shadow:8px 8px 0 var(--crema)}
body[data-surface=app] .card-preview .muted{color:var(--muted-on-dark)}
body[data-surface=app] .card-preview .punch{border-color:#A58B72}
body[data-surface=app] .field input{background:#FFFDF9;border-color:#B5A698;color:var(--ink)}
body[data-surface=app] .field input:focus{border-color:var(--accent)}
body[data-surface=app] .mobile-surface{background:#FFFDF9}
body[data-surface=app] .pill{background:var(--soft);color:var(--ink)}
body[data-surface=app] .feedback{background:var(--soft);border-left-color:var(--accent)}
.next-action{background:var(--soft);border-left-color:var(--accent)}
.metric strong,.balance,.price-line strong,.preview-stat strong{font-variant-numeric:tabular-nums lining-nums}
.punch.filled{background:var(--ink);border-color:var(--ink);color:var(--crema)}
.quantity button,.quantity input{color:var(--ink);background:#FFFDF9;border-color:#B5A698}
.progress,.period,.review-list dt,th{color:var(--muted)}
.progress .active{color:var(--ink)}
.error{background:#FFF1EC;color:var(--danger);border-color:var(--danger)}
#notice{background:var(--ink);color:var(--on-dark)}
dialog{background:var(--paper);color:var(--ink)}
@media(max-width:560px){body[data-surface=app] .mobile-surface{background:transparent}}
@media print{body,.print-sign{background:#fff!important;color:#000!important}}
