.hero{text-align:center;padding:30px 0 34px}.hero h1{font-size:clamp(34px,6vw,52px);margin:0 0 14px;line-height:1.1}.accent{color:var(--purple)}.tagline{color:var(--ink-soft);font-size:16.5px;max-width:520px;margin:0 auto;line-height:1.6}#stamp-card h2{margin:0 0 18px;font-size:20px}.dropzone{border:2px dashed var(--purple-light);border-radius:var(--radius);background:var(--purple-bg);padding:30px 20px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease;margin-bottom:18px}.dropzone:hover,.dropzone:focus-visible,.dropzone.dragover{border-color:var(--purple);background:#ece0fc;outline:none}.upload-icon{width:44px;height:44px;margin-bottom:10px}.dropzone-title{font-weight:600;color:var(--ink);margin-bottom:6px}.dropzone-title .browse{color:var(--purple)}.hash-box{margin-bottom:18px}.copy-btn svg{width:16px;height:16px}textarea{width:100%;font-family:var(--font-body);font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);resize:vertical;min-height:56px;color:var(--ink)}textarea:focus{outline:2px solid var(--purple-light);border-color:transparent}.byte-counter{text-align:right;margin:6px 2px 16px}.byte-counter.over{color:var(--danger);font-weight:600}.btn-block{width:100%}.error{color:var(--danger);font-size:13.5px;font-weight:600;margin-top:12px;min-height:0}.error:empty{display:none}.fineprint{margin:16px 0 0;line-height:1.6}.recent{margin-top:26px}.recent h2{margin:0 0 12px;font-size:18px}.recent-list{list-style:none;margin:0 0 10px;padding:0}.recent-list li{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line)}.recent-list li:last-child{border-bottom:none}.recent-list .desc{flex:1;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-list .date{color:var(--ink-faint);font-size:12px;white-space:nowrap}.recent-list a{text-decoration:none}.dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dot-done{background:var(--green)}.dot-wait{background:#e5c052}.dot-fail{background:var(--danger)}
