*{box-sizing:border-box}:root{--bg-0:#0b0a0d;--bg-1:#141318;--bg-2:#1d1b22;--bg-3:#26232c;--gold-light:#e0ac28;--gold:#b8860b;--gold-deep:#6b5518;--gold-line:rgba(184,134,11,.28);--text-main:#ede7d9;--text-muted:#948c78;--text-faint:#5e5748;--danger:#e5484d;--online:#22c55e}body{margin:0;font-family:Tahoma,Segoe UI,Arial,sans-serif;background-color:var(--bg-0);background-image:radial-gradient(ellipse 120% 60% at 50% -10%,rgba(184,134,11,.1) 0,transparent 55%),linear-gradient(rgba(184,134,11,.035) 1px,transparent 0),linear-gradient(90deg,rgba(184,134,11,.035) 1px,transparent 0);background-size:100% 100%,28px 28px,28px 28px;color:var(--text-main)}.mono{font-family:Courier New,monospace}.wrap{max-width:760px;margin:0 auto;padding:24px 16px 90px}.panel{position:relative;background:linear-gradient(160deg,var(--bg-3) 0,var(--bg-2) 55%,var(--bg-1) 100%);border:1px solid var(--gold-line);border-radius:10px;padding:24px;box-shadow:0 22px 40px -18px rgba(0,0,0,.85),inset 0 1px 0 hsla(0,0%,100%,.05),inset 0 -14px 26px -22px rgba(184,134,11,.14)}.corner{position:absolute;width:14px;height:14px}.corner-tl{right:-1px;border-right:2px solid var(--gold)}.corner-tl,.corner-tr{top:-1px;border-top:2px solid var(--gold)}.corner-tr{left:-1px;border-left:2px solid var(--gold)}.corner-bl{right:-1px;border-right:2px solid var(--gold)}.corner-bl,.corner-br{bottom:-1px;border-bottom:2px solid var(--gold)}.corner-br{left:-1px;border-left:2px solid var(--gold)}.field-input{width:100%;background:var(--bg-1);border:1px solid hsla(0,0%,100%,.1);border-radius:6px;padding:10px 12px;color:var(--text-main);font-family:inherit;font-size:14px;outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.field-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,134,11,.15)}.btn-primary{background:linear-gradient(135deg,var(--gold-light),var(--gold) 60%,var(--gold-deep));color:#14110a;font-weight:700;border:none;border-radius:7px;padding:11px 18px;cursor:pointer;box-shadow:0 10px 22px -8px rgba(184,134,11,.5),inset 0 1px 0 hsla(0,0%,100%,.35);transition:transform .12s ease,box-shadow .12s ease}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-ghost{background:linear-gradient(160deg,var(--bg-3),var(--bg-1));color:var(--gold-light);border:1px solid var(--gold-line);border-radius:7px;padding:10px 16px;cursor:pointer}.role-chip{border:1px solid hsla(0,0%,100%,.14);border-radius:7px;padding:8px 14px;cursor:pointer;font-size:13px;color:var(--text-muted);display:inline-block;background:var(--bg-1)}.role-chip-active{border-color:var(--gold);background:linear-gradient(135deg,rgba(224,172,40,.16),rgba(107,85,24,.22));color:var(--gold-light)}.badge{background:linear-gradient(135deg,rgba(184,134,11,.2),rgba(107,85,24,.28));color:var(--gold-light);border:1px solid var(--gold-line);border-radius:4px;padding:2px 8px;font-size:11px}.list-row{background:linear-gradient(160deg,var(--bg-2),var(--bg-1));border:1px solid transparent;border-radius:8px;padding:12px 14px;cursor:pointer;margin-bottom:8px;box-shadow:0 8px 18px -12px rgba(0,0,0,.6);transition:border-color .15s ease,transform .12s ease}.list-row:hover{border-color:var(--gold-line);transform:translateY(-1px)}.section-title{font-size:15px;font-weight:700;margin-bottom:4px;color:var(--text-main)}.section-sub{font-size:12.5px;color:var(--text-muted);margin-bottom:14px}.error-text{color:var(--danger);font-size:13px;margin-top:8px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:linear-gradient(180deg,var(--bg-1),var(--bg-0));border-top:1px solid var(--gold-line);padding:10px 4px}.nav-item{background:none;border:none;color:var(--text-faint);font-family:inherit;font-size:12px;cursor:pointer;padding:4px 10px}.nav-item.active{color:var(--gold-light);font-weight:700}.stamp-card{background:linear-gradient(160deg,#f3ecd9,#e9dfc4);color:#1a1710;border-radius:8px;padding:18px;margin-bottom:24px;box-shadow:0 16px 30px -16px rgba(0,0,0,.6)}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}.badge-online{background:rgba(34,197,94,.14);color:var(--online);border:1px solid rgba(34,197,94,.4);border-radius:4px;padding:2px 8px;font-size:11px}