:root{--bg-deep:#0b1f24;--bg-mid:#12343c;--bg-soft:#1a4a52;--sand:#e8dcc8;--ink:#f4efe6;--muted:#a8b7b4;--accent:#e07a3d;--accent-strong:#f09452;--line:#e8dcc824;--panel:#0c242ab8;--shadow:0 24px 60px #00000059;--radius:18px;--font-display:"Syne", sans-serif;--font-body:"Outfit", 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(1200px 700px at 10% -10%, #e07a3d47, transparent 55%), radial-gradient(900px 600px at 100% 0%, #38a0a038, transparent 50%), linear-gradient(160deg, var(--bg-deep), var(--bg-mid) 45%, #0e2a30);background-attachment:fixed;margin:0}body:before{content:"";pointer-events:none;opacity:.07;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cpath fill='none' stroke='%23e8dcc8' stroke-width='1' d='M0 80h160M80 0v160'/%3E%3C/svg%3E");position:fixed;top:0;bottom:0;left:0;right:0}#root{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}a{color:inherit}code{background:#ffffff0f;border-radius:6px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.page{flex:1;width:min(1100px,100% - 2rem);margin:0 auto;padding:2rem 0 1.5rem}.brand{font-family:var(--font-display);letter-spacing:-.04em;color:var(--sand);margin:0;font-size:clamp(2.6rem,8vw,4.5rem);font-weight:800;line-height:.95;animation:.7s both rise}.brand.compact{letter-spacing:-.02em;font-size:1.35rem}.brand-row{align-items:center;gap:.55rem;display:inline-flex}.brand-logo{object-fit:contain;width:1.6rem;height:1.6rem}.brand-logo-lg{width:3.2rem;height:3.2rem}h1{font-family:var(--font-display);letter-spacing:-.03em;margin:.35rem 0 .5rem;font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:700}.lede{max-width:28rem;color:var(--muted);font-size:1.05rem;line-height:1.5;animation:.8s 80ms both rise}.muted{color:var(--muted)}.section-title{font-family:var(--font-display);margin:0 0 .85rem;font-size:1.05rem}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn{-webkit-appearance:none;appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.7rem 1.15rem;font-weight:600;transition:transform .15s,background .15s,border-color .15s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#1a100a}.btn-secondary{border-color:var(--line);color:var(--ink);background:#e8dcc814;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-ghost{border-color:var(--line);color:var(--muted);background:0 0}.btn-block{width:100%}.btn-row{flex-wrap:wrap;gap:.65rem;display:flex}label{color:var(--muted);gap:.35rem;font-size:.92rem;display:grid}input,textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#00000040;border-radius:12px;padding:.75rem .9rem}.icon-picker{position:relative}.icon-picker-trigger,.icon-picker-menu button{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;align-items:center;gap:.7rem;display:flex}.icon-picker-trigger{border:1px solid var(--line);background:#00000040;border-radius:12px;padding:.45rem .7rem .45rem .45rem;font-weight:500}.icon-picker.open .icon-picker-trigger{outline-offset:1px;outline:2px solid #e07a3d73}.icon-picker-trigger:focus-visible{outline-offset:1px;outline:2px solid #e07a3d73}.icon-picker-trigger .link-icon-wrap,.icon-picker-menu .link-icon-wrap{border-radius:10px;width:34px;height:34px}.icon-picker-caret{width:16px;height:16px;color:var(--muted);margin-left:auto;transition:transform .15s}.icon-picker.open .icon-picker-caret{transform:rotate(180deg)}.icon-picker-menu{z-index:30;border:1px solid var(--line);box-shadow:var(--shadow);background:#102e35;border-radius:14px;gap:.15rem;margin:0;padding:.35rem;list-style:none;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0}.icon-picker-menu button{background:0 0;border:0;border-radius:10px;padding:.35rem .4rem}.icon-picker-menu button:hover,.icon-picker-menu button.selected{background:#e07a3d29}input:focus,textarea:focus{outline-offset:1px;outline:2px solid #e07a3d73}.link-form{gap:1.1rem;display:grid}.link-form .form-grid{margin-bottom:.15rem}.link-form .btn-primary{z-index:0;justify-self:start;position:relative}.form-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.form-grid .full{grid-column:1/-1}.form-error{color:#ff8f7a;margin:.4rem 0 0;font-size:.92rem}.hint{margin:.85rem 0 0;font-size:.88rem}.login-page{flex:1;align-content:center;gap:2rem;min-height:0;animation:.5s both fade;display:grid}.login-hero{max-width:34rem}.login-card{background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius);width:min(400px,100%);box-shadow:var(--shadow);gap:.9rem;padding:1.4rem;animation:.75s .12s both rise;display:grid}.dashboard-page{animation:.4s both fade}.dash-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.saved-pill{color:var(--accent-strong);font-weight:600}.dash-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:start;gap:1.25rem;display:grid}.dash-main{gap:1.25rem;display:grid}.panel,.qr-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.list-block{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.25rem}.link-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.link-row{border:1px solid var(--line);background:#ffffff08;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.7rem .8rem;display:grid}.link-meta{gap:.15rem;min-width:0;display:grid}.link-icon-wrap{width:40px;height:40px;color:var(--accent-strong);background:#e07a3d26;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.qr-panel{text-align:center;position:sticky;top:1rem}.qr-frame{background:#fff;border-radius:16px;place-items:center;margin:.75rem 0;padding:.65rem;animation:3.2s ease-in-out infinite softPulse;display:inline-grid}.qr-url{color:var(--muted);margin:0 0 .9rem;font-size:.85rem}.site-footer{text-align:center;letter-spacing:.01em;margin-top:auto;padding:.4rem 1rem 1.4rem;font-size:.92rem}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--sand)}.qr-brand{font-family:var(--font-display);letter-spacing:.04em;color:var(--sand);margin:.35rem 0 .55rem;font-size:.95rem;font-weight:700}.qr-panel .btn-row{justify-content:center}.public-page{flex:1;place-items:center;min-height:0;animation:.45s both fade;display:grid}.public-stage{text-align:center;justify-items:center;gap:.85rem;width:min(420px,100%);display:grid}.public-brand{margin-bottom:.25rem;animation:.55s both rise}.avatar{width:76px;height:76px;font-family:var(--font-display);color:#1a100a;background:linear-gradient(145deg, var(--accent), #f2b27a);border-radius:50%;place-items:center;font-size:1.8rem;font-weight:800;animation:.65s 50ms both rise;display:grid;box-shadow:0 12px 30px #e07a3d59}.public-name{animation:.7s .1s both rise}.public-bio{color:var(--muted);max-width:28rem;margin:0;line-height:1.45;animation:.75s .14s both rise}.public-link{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c242ac7;border-radius:16px;align-items:center;gap:.85rem;width:100%;padding:.95rem 1.05rem;font-weight:600;text-decoration:none;transition:transform .15s,border-color .15s,background .15s;animation:.6s both rise;display:flex}.link-list.public li:first-child .public-link{animation-delay:.16s}.link-list.public li:nth-child(2) .public-link{animation-delay:.22s}.link-list.public li:nth-child(3) .public-link{animation-delay:.28s}.link-list.public li:nth-child(4) .public-link{animation-delay:.34s}.link-list.public li:nth-child(n+5) .public-link{animation-delay:.4s}.public-link:hover{background:#12343ceb;border-color:#e07a3d73;transform:translateY(-2px)}.public-empty{text-align:center;justify-items:center;gap:.75rem;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes softPulse{0%,to{box-shadow:0 0 #e07a3d26}50%{box-shadow:0 0 0 10px #e07a3d00}}@media (max-width:860px){.dash-grid{grid-template-columns:1fr}.qr-panel{position:static}.dash-header{flex-direction:column}.form-grid{grid-template-columns:1fr}}
