:root{--bg-0:#e8f1ef;--bg-1:#d4e8e3;--ink:#142a25;--ink-soft:#3d524c;--accent:#0f766e;--accent-hover:#0d5f59;--surface:#ffffffb8;--line:#142a251f;--danger:#b42318;--ok:#0f766e;--shadow:0 18px 50px #142a2514;--radius:16px;--font-display:"Syne", sans-serif;--font-body:"Figtree", sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(900px 500px at 12% -10%, #9fd8cf 0%, transparent 55%), radial-gradient(700px 420px at 100% 0%, #b7c9e8 0%, transparent 50%), linear-gradient(165deg, var(--bg-0), var(--bg-1));background-attachment:fixed;margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(#142a250a 1px,#0000 1px),linear-gradient(90deg,#142a250a 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 20%,#0000 75%);mask-image:radial-gradient(#000 20%,#0000 75%)}.page{z-index:1;place-items:center;min-height:100vh;padding:2rem 1.25rem 3rem;display:grid;position:relative}.shell{width:min(640px,100%);animation:.7s both rise}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.brand{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 .75rem;font-size:clamp(2.6rem,8vw,4.2rem);font-weight:800;line-height:.95}.brand span{color:var(--accent)}.tagline{color:var(--ink-soft);max-width:34ch;margin:0 0 1.75rem;font-size:1.05rem}.panel{background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem}.form{grid-template-columns:1fr auto;gap:.65rem;display:grid}.form input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:12px;outline:none;padding:.95rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f766e2e}.form button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:12px;padding:.95rem 1.25rem;font-weight:600;transition:background .2s,transform .15s}.form button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.form button:active:not(:disabled){transform:translateY(0)}.form button:disabled{opacity:.7;cursor:wait}.error{color:var(--danger);margin:.9rem 0 0;font-size:.95rem}.result{background:#0f766e0f;border:1px dashed #0f766e59;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.9rem;padding:.9rem 1rem;animation:.35s both pop;display:flex}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.result-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:.2rem;font-size:.75rem;display:block}.result a{color:var(--ok);word-break:break-all;font-weight:600;text-decoration:none}.result a:hover{text-decoration:underline}.copy-btn{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:10px;flex-shrink:0;padding:.55rem .8rem;font-size:.9rem;font-weight:600;transition:background .15s}.copy-btn:hover{background:#f3faf8}@media (width<=560px){.form{grid-template-columns:1fr}.result{flex-direction:column;align-items:stretch}}
