@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Playfair+Display:ital,wght@0,600;1,600;1,700&display=swap');:root{--ink:#17233f;--paper:#fffaf4;--orange:#f09c65;--line:rgba(23,35,63,.15);--c1:#17233f;--c2:#f09c65;--btn:#fffaf4;--txt:#17233f}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:'DM Mono',monospace;background:var(--paper)}button,input,textarea{font:inherit}button{cursor:pointer}.public{min-height:100vh;background:linear-gradient(135deg,var(--c1),var(--c2));color:var(--txt);padding:50px 18px 26px}.profile-shell{width:min(100%,620px);margin:auto;min-height:calc(100vh - 76px);display:flex;flex-direction:column;align-items:center;position:relative}.glow{position:fixed;width:480px;height:480px;border-radius:50%;background:rgba(255,255,255,.13);filter:blur(70px);top:-170px;right:-120px;pointer-events:none}.profile-head{text-align:center;position:relative;z-index:1}.avatar,.admin-avatar{width:112px;height:112px;border-radius:50%;overflow:hidden;background:rgba(255,250,244,.4);display:grid;place-items:center;font-size:34px;box-shadow:0 12px 40px #17233f33;margin:0 auto 20px;border:3px solid rgba(255,255,255,.6)}.avatar img,.admin-avatar img{width:100%;height:100%;object-fit:cover}.profile-head h1{font-family:'Playfair Display',serif;font-size:42px;margin:0 0 8px;letter-spacing:-1px}.profile-head p{margin:0 auto 32px;max-width:480px;line-height:1.6;font-size:12px}.link-stack{width:100%;display:grid;gap:12px}.link-card{background:var(--btn);color:var(--txt);min-height:62px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;text-decoration:none;font-size:12px;box-shadow:0 8px 25px #17233f25;transition:.2s}.link-card:hover{transform:translateY(-3px) rotate(-.3deg);box-shadow:0 13px 28px #17233f35}.link-card b{font-size:20px;font-weight:400}.public footer{margin-top:auto;padding-top:42px;font-size:10px;opacity:.75}.public footer span{margin-left:7px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#17233f 0 53%,#f09c65 53%)}.auth-card{background:var(--paper);width:min(100%,480px);padding:48px;border-radius:14px;box-shadow:0 20px 80px #17233f55}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#e67849;margin-bottom:20px}.auth-card h1,.admin-intro h1{font:600 46px/1.05 'Playfair Display',serif;letter-spacing:-2px;margin:0 0 34px}.auth-card h1 em,.admin-intro h1 em{color:#e67849}.auth-card label,.panel label{display:grid;gap:8px;font-size:10px;margin:16px 0}.auth-card input,.panel input,.panel textarea,.add-link input{border:1px solid var(--line);border-radius:5px;background:#fff;padding:13px;color:var(--ink);outline-color:#e67849}.auth-card button,.primary,.add-link button{border:0;border-radius:5px;background:var(--ink);color:white;padding:15px 18px;width:100%;margin-top:16px;text-align:left}.auth-card button span,.primary span{float:right}.form-error{color:#c34f35;font-size:11px;min-height:14px}.admin-page{background:#f4eee7;min-height:100vh}.admin-page nav{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font-size:11px}.admin-page nav a{color:var(--ink);text-decoration:none}.brand{font-weight:500;letter-spacing:2px}.brand span{color:#e67849;margin-left:5px}.ghost{border:0;background:none;margin-left:25px;color:#6d6b66}.admin-wrap{width:min(1100px,90%);margin:70px auto}.admin-intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:50px}.admin-intro h1{margin:0}.admin-intro p{width:240px;font-size:11px;line-height:1.7;margin:0 4% 8px 0}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--paper);padding:28px;border-radius:10px;margin-bottom:20px}.panel-title{display:flex;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:25px}.panel-title span{color:#e67849;font-size:11px;margin-right:15px}.panel-title h2{font:600 23px 'Playfair Display',serif;margin:0}.panel-title small{margin-left:auto;font-size:9px;color:#777}.file-pick{display:inline-block!important;background:#e8e0d8;padding:11px 13px;border-radius:4px;cursor:pointer!important;margin:0!important}.file-pick input{display:none}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.color-grid input{height:38px;padding:2px;width:100%;cursor:pointer}.bg-preview{height:105px;border-radius:5px;background:linear-gradient(135deg,#17233f,#f09c65);margin-top:20px}.bg-preview.empty:after{content:'dégradé actif';display:grid;place-items:center;height:100%;font-size:10px;color:#fff}.file-row{display:flex;align-items:center;gap:10px;margin-top:15px}.outline{background:none;border:1px solid var(--line);padding:10px;border-radius:4px;font-size:10px}.primary{margin-top:24px}.add-link{display:grid;grid-template-columns:1fr 1.5fr auto;gap:8px;margin-bottom:22px}.add-link button{width:auto;margin:0;padding:0 20px}.link-row{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:17px 4px}.link-row i{font-style:normal;color:#999;font-size:20px;cursor:grab}.link-info{display:grid;gap:5px;flex:1;min-width:0}.link-info strong{font-size:12px}.link-info small{font-size:10px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clicks{font-size:10px;color:#e67849}.toggle{border:0;background:#e7e1db;color:#777;border-radius:99px;padding:7px 9px;font-size:9px}.toggle.on{background:#d8ecdd;color:#34744e}.delete{border:0;background:none;font-size:20px;color:#999}.toast{position:fixed;right:28px;bottom:28px;padding:14px 18px;background:var(--ink);color:#fff;border-radius:5px;font-size:11px;transform:translateY(20px);opacity:0;transition:.25s;z-index:5}.toast.show{opacity:1;transform:none}.toast.bad{background:#ba5035}.toast.ok{background:#34744e}@media(max-width:900px){.admin-intro{display:block}.admin-intro p{margin-top:20px}.admin-wrap{margin:45px auto}.editor-grid{grid-template-columns:1fr}}@media(max-width:480px){.public{padding-top:28px}.profile-head h1{font-size:35px}.auth-card{padding:30px 24px}.auth-card h1,.admin-intro h1{font-size:38px}.admin-page nav{padding:0 20px}.admin-page nav>div>a{display:none}.admin-wrap{width:calc(100% - 28px);margin:30px auto}.panel{padding:20px}.add-link{grid-template-columns:1fr}.add-link button{padding:13px}.link-row{gap:8px;flex-wrap:wrap}.link-info{width:calc(100% - 45px);flex:auto}.clicks{margin-left:35px}.file-row{flex-wrap:wrap}}
