:root{--primary:#2563eb;--primary-dark:#1d4ed8;--accent:#0ea5e9;--surface:#ffffff;--surface-muted:#f1f5f9;--border:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b;--shadow-soft:0 20px 45px rgba(15,23,42,0.08);--relief-ink:#0f172a;--relief-line:rgba(15,23,42,0.12);--relief-glow:rgba(20,184,166,0.22);--relief-accent:#14b8a6;--relief-accent-dim:#0d9488;--relief-warn-bg:rgba(251,191,36,0.14);--relief-warn-border:rgba(217,119,6,0.4);--relief-panel-bg:#f8fafc;--relief-dock-tint:rgba(241,245,249,0.92);--relief-drop-active:rgba(20,184,166,0.1);--relief-chip-bg:rgba(255,255,255,0.9);--relief-canvas-shadow:rgba(15,23,42,0.14);}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.relief-slab{margin:0 0 2rem;}
.relief-vault{border-radius:20px;background:linear-gradient(145deg,var(--surface-muted) 0%,var(--surface) 50%);border:1px solid var(--border);box-shadow:var(--shadow-soft);overflow:hidden;}
.relief-ingest{padding:clamp(1.25rem,4vw,2rem);}
.relief-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.65rem;min-height:min(52vh,380px);padding:1.5rem;border:2px dashed var(--border);border-radius:16px;background:radial-gradient(ellipse 80% 60% at 50% 0%,var(--relief-glow),transparent 55%);cursor:pointer;text-align:center;transition:border-color 0.2s ease,background 0.2s ease;}
.relief-drop:hover,.relief-drop:focus-visible{border-color:var(--relief-accent-dim);outline:none;}
.relief-drop--active{border-color:var(--relief-accent);background:radial-gradient(ellipse 80% 60% at 50% 0%,var(--relief-glow),var(--relief-drop-active));}
.relief-drop svg{width:48px;height:48px;color:var(--relief-accent-dim);opacity:0.95;}
.relief-drop h2{margin:0;font-size:clamp(1.15rem,3.5vw,1.35rem);font-weight:700;color:var(--text-main);}
.relief-drop p{margin:0;font-size:0.95rem;color:var(--text-muted);max-width:28rem;line-height:1.45;}
.relief-drop .relief-k{display:inline-block;margin-top:0.25rem;padding:0.2rem 0.55rem;border-radius:999px;font-size:0.75rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--relief-accent-dim);border:1px solid var(--relief-line);background:var(--surface-muted);}
.relief-stage{flex-direction:column;gap:0;}
.relief-stage[hidden]{display:none !important;}
.relief-stage:not([hidden]){display:flex;}
.relief-strip{display:grid;grid-template-columns:1fr;gap:clamp(0.75rem,2vw,1rem);padding:clamp(0.75rem,2vw,1rem) clamp(1rem,3vw,1.25rem) 0;}
@media (min-width:768px){.relief-strip{grid-template-columns:1fr 1fr;align-items:stretch;}}
.relief-panel{margin:0;padding:0;border:1px solid var(--border);border-radius:14px;background:var(--relief-panel-bg);display:flex;flex-direction:column;min-height:0;}
.relief-cap{display:block;padding:0.4rem 0.75rem;font-size:0.7rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface);}
.relief-canvas-wrap{display:flex;align-items:center;justify-content:center;padding:0.65rem;min-height:min(42vw,280px);}
@media (min-width:768px){.relief-canvas-wrap{min-height:260px;}}
.relief-canvas-wrap canvas{max-width:100%;height:auto;border-radius:8px;box-shadow:0 8px 28px var(--relief-canvas-shadow);border:1px solid var(--border);}
.relief-dock{margin-top:auto;padding:clamp(0.85rem,2.5vw,1.1rem) clamp(1rem,3vw,1.25rem) calc(0.85rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,0.4),var(--relief-dock-tint));backdrop-filter:blur(10px);position:sticky;bottom:0;z-index:4;}
.relief-dock-inner{display:flex;flex-direction:column;gap:1rem;}
.relief-row-label{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.35rem;}
.relief-rose{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:220px;margin:0 auto;}
@media (min-width:768px){.relief-rose{margin:0;max-width:200px;}}
.relief-rose-spacer{display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--surface-muted);border:1px dashed var(--border);color:var(--relief-accent-dim);font-size:1.1rem;font-weight:300;}
.relief-rose button{appearance:none;border:1px solid var(--border);border-radius:10px;padding:0.55rem 0.25rem;font-size:0.78rem;font-weight:700;color:var(--text-muted);background:var(--relief-chip-bg);cursor:pointer;transition:background 0.15s ease,border-color 0.15s ease,color 0.15s ease;}
.relief-rose button:hover,.relief-rose button:focus-visible{color:var(--text-main);border-color:var(--relief-accent-dim);outline:none;}
.relief-rose button[aria-pressed="true"]{color:#ffffff;background:linear-gradient(160deg,var(--relief-accent),var(--relief-accent-dim));border-color:transparent;box-shadow:0 4px 16px var(--relief-glow);}
.relief-slider-row{display:flex;flex-direction:column;gap:0.35rem;}
.relief-slider-top{display:flex;align-items:center;justify-content:space-between;font-size:0.85rem;color:var(--text-main);}
.relief-slider-top output{font-variant-numeric:tabular-nums;font-weight:700;color:var(--relief-accent-dim);}
.relief-range{width:100%;height:6px;border-radius:999px;accent-color:var(--relief-accent-dim);cursor:pointer;}
.relief-tools{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem 1rem;}
.relief-switch{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.88rem;color:var(--text-muted);cursor:pointer;}
.relief-switch input{width:1.05rem;height:1.05rem;accent-color:var(--relief-accent-dim);}
.relief-actions{display:flex;flex-wrap:wrap;gap:0.5rem;margin-left:auto;}
.relief-btn{appearance:none;border:1px solid var(--border);border-radius:12px;padding:0.55rem 1rem;font-size:0.88rem;font-weight:600;color:var(--text-main);background:var(--surface);cursor:pointer;transition:border-color 0.15s ease,background 0.15s ease;}
.relief-btn:hover,.relief-btn:focus-visible{border-color:var(--relief-accent-dim);outline:none;}
.relief-btn--ghost{background:transparent;}
.relief-btn--prime{border:none;color:#ffffff;background:linear-gradient(160deg,var(--relief-accent),var(--relief-accent-dim));box-shadow:0 4px 18px var(--relief-glow);}
.relief-btn--prime:disabled{opacity:0.45;cursor:not-allowed;box-shadow:none;}
@media (min-width:768px){.relief-dock-inner{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:1.25rem 1.5rem;}.relief-rose{order:0;}.relief-slider-row{flex:1;min-width:180px;max-width:320px;order:1;}.relief-tools{order:2;flex:1 1 100%;justify-content:space-between;align-items:center;}.relief-actions{margin-left:auto;}}
.relief-prose{margin:2.5rem auto 0;padding:0 0 2rem;}
.relief-prose h2{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700;margin:2rem 0 0.75rem;line-height:1.25;color:var(--text-main);}
.relief-prose h2:first-child{margin-top:0;}
.relief-prose p,.relief-prose li{font-size:1rem;line-height:1.65;color:var(--text-muted);}
.relief-prose p{margin:0 0 0.85rem;}
.relief-prose a{color:var(--primary);text-decoration:underline;text-underline-offset:2px;}
.relief-prose a:hover{color:var(--primary-dark);}
.relief-prose ul{margin:0 0 1rem;padding-left:1.2rem;}
.relief-prose .relief-lead{font-size:1.05rem;color:var(--text-main);}
.relief-dl{margin:0 0 1.25rem;padding:0;}
.relief-dl dt{font-weight:700;color:var(--text-main);margin-top:0.75rem;font-size:0.92rem;}
.relief-dl dt:first-child{margin-top:0;}
.relief-dl dd{margin:0.25rem 0 0;padding:0;color:var(--text-muted);font-size:0.95rem;line-height:1.55;}
.relief-callout{margin:1.5rem 0;padding:1rem 1.1rem;border-radius:14px;border:1px solid var(--relief-warn-border);background:var(--relief-warn-bg);font-size:0.92rem;line-height:1.55;color:var(--text-main);}
.relief-callout strong{color:var(--text-main);}
.relief-muted{font-size:0.85rem;color:var(--text-muted);margin-top:1.75rem;}
