@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&family=Prompt:wght@300;400;500;600;700&display=swap');
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Prompt","Kanit",Arial,sans-serif;color:#172033}body{min-height:100vh}
.migration-page{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:25px 15px;background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 48%,#ecfeff 100%)}
.bg-grid{position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(37,99,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.06) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent)}
.glow{position:absolute;border-radius:50%;filter:blur(2px);animation:float 7s ease-in-out infinite}.glow-a{width:330px;height:330px;left:-150px;top:-130px;background:rgba(37,99,235,.13)}.glow-b{width:360px;height:360px;right:-170px;bottom:-180px;background:rgba(6,182,212,.14);animation-delay:-3s}
.migration-card{width:min(720px,100%);position:relative;z-index:2;text-align:center;padding:28px clamp(20px,5vw,55px) 25px;border:1px solid rgba(255,255,255,.95);border-radius:30px;background:rgba(255,255,255,.92);box-shadow:0 30px 90px rgba(30,64,175,.14);backdrop-filter:blur(20px);animation:appear .65s ease-out}
.top-status{display:inline-flex;gap:9px;align-items:center;padding:7px 13px;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe;font-size:10px;font-weight:700;letter-spacing:1px}.top-status span{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}
.admin-image-link{display:block;width:min(390px,100%);margin:12px auto 0;text-decoration:none;cursor:pointer}.admin-illustration{height:205px;position:relative;transition:.25s;filter:drop-shadow(0 20px 20px rgba(37,99,235,.13))}.admin-image-link:hover .admin-illustration{transform:translateY(-5px) scale(1.02)}.admin-illustration:after{content:"";position:absolute;left:18%;right:18%;bottom:11px;height:15px;border-radius:50%;background:rgba(37,99,235,.12);filter:blur(7px)}
.screen{position:absolute;left:50%;top:27px;transform:translateX(-50%);width:245px;height:135px;border-radius:15px 15px 10px 10px;background:linear-gradient(145deg,#dbeafe,#bfdbfe);border:7px solid #1e3a8a;box-shadow:0 16px 35px rgba(30,58,138,.2);overflow:hidden}.screen-top{height:22px;background:#1e3a8a;display:flex;align-items:center;gap:5px;padding-left:10px}.screen-top i{width:6px;height:6px;border-radius:50%;background:#93c5fd}.screen-body{padding:12px}.screen-line{height:7px;width:65%;border-radius:5px;background:#60a5fa;margin:7px 0}.screen-line.long{width:82%}.screen-line.short{width:42%}.screen-card{width:80px;height:35px;border-radius:7px;background:linear-gradient(135deg,#2563eb,#06b6d4);margin-top:12px}
.base{position:absolute;left:50%;top:160px;transform:translateX(-50%);width:90px;height:11px;border-radius:10px;background:#1e3a8a}.base:after{content:"";position:absolute;width:145px;height:7px;left:-27px;top:7px;border-radius:10px;background:#64748b}
.person{position:absolute;right:49px;bottom:28px;width:67px;height:120px}.head{width:34px;height:34px;border-radius:50%;background:#f5b18b;margin:auto;border:4px solid #fff;box-shadow:0 4px 10px rgba(15,23,42,.12)}.body{width:61px;height:67px;margin:5px auto 0;border-radius:24px 24px 10px 10px;background:linear-gradient(145deg,#2563eb,#1d4ed8);border:4px solid #fff}
.cloud{position:absolute;color:#bfdbfe;font-size:48px}.c1{left:17px;top:50px}.c2{left:4px;top:105px;font-size:35px}.gear{position:absolute;left:28px;bottom:22px;font-size:48px;color:#94a3b8;animation:spin 8s linear infinite}.admin-click-hint{display:inline-block;margin-top:1px;padding:6px 12px;border-radius:999px;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0;font-size:11px}
h1{margin:12px 0 4px;font-size:clamp(32px,6vw,48px);line-height:1.15;letter-spacing:-1px;background:linear-gradient(90deg,#1d4ed8,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{font-size:21px;font-weight:600;margin:0}.message{max-width:590px;margin:10px auto 18px;color:#64748b;font-size:14px;line-height:1.8}
.new-system{display:flex;align-items:center;text-align:left;gap:13px;padding:13px 15px;margin:0 auto 12px;max-width:580px;border:1px solid #dbeafe;background:linear-gradient(100deg,#eff6ff,#f0fdfa);border-radius:16px}.new-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:#fff;font-size:22px;box-shadow:0 5px 15px rgba(37,99,235,.08)}.new-text{flex:1}.new-text strong{display:block;color:#1e40af;font-size:14px}.new-text span{display:block;color:#64748b;font-size:11px;margin-top:2px}.arrow{font-size:25px;color:#2563eb}
.main-link{max-width:580px;margin:auto;min-height:54px;padding:0 20px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:#fff;font-weight:600;background:linear-gradient(135deg,#2563eb,#0891b2);box-shadow:0 13px 28px rgba(37,99,235,.23);transition:.2s}.main-link:hover{transform:translateY(-2px);color:#fff;box-shadow:0 18px 35px rgba(37,99,235,.3)}.link-icon{font-size:20px}
.contact-row{margin-top:12px;color:#94a3b8;font-size:11px}.contact-row a{color:#2563eb;text-decoration:none;font-weight:600}footer{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:20px;padding-top:14px;border-top:1px solid #e5e7eb;color:#a0aec0;font-size:10px}
@keyframes appear{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(16px)}}@keyframes spin{to{transform:rotate(360deg)}}
.login-page{display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#eff6ff,#ecfeff)}.login-card{width:min(420px,100%);padding:34px;border-radius:24px;background:#fff;box-shadow:0 25px 70px rgba(15,23,42,.14)}.login-card h1{font-size:32px;color:#172033;background:none;margin:15px 0 3px}.login-card>p{color:#64748b;margin:0 0 22px}.admin-icon{width:55px;height:55px;display:grid;place-items:center;border-radius:16px;background:#eff6ff;font-size:27px}.login-card label,.editor-card label{display:block;font-size:13px;font-weight:600;margin:14px 0;color:#334155}.login-card input,.editor-card input,.editor-card textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #dbe3ee;border-radius:11px;outline:none;font:400 14px "Prompt";background:#fff}.login-card input:focus,.editor-card input:focus,.editor-card textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.login-card .contact-button{width:100%;margin-top:10px}.error,.success{padding:12px 14px;border-radius:11px;margin-bottom:14px;font-size:13px}.error{background:#fef2f2;color:#b91c1c}.success{background:#ecfdf5;color:#047857}.hint{margin-top:15px;color:#94a3b8;font-size:11px}
.admin-page{background:#f1f5f9}.admin-shell{width:min(920px,100%);margin:auto;padding:25px 16px 50px}.admin-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.admin-head h1{font-size:34px;color:#172033;background:none;margin:12px 0 2px}.admin-head p{margin:0;color:#64748b;font-size:13px}.logout,.preview{padding:10px 15px;border-radius:10px;background:#fff;color:#475569;text-decoration:none;border:1px solid #e2e8f0;font-size:13px}.editor-card{background:#fff;border-radius:22px;padding:25px;box-shadow:0 15px 40px rgba(15,23,42,.08)}.section-title{font-weight:700;font-size:17px;color:#1e40af;border-bottom:1px solid #e5e7eb;padding:8px 0 11px;margin-top:8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.actions{display:flex;gap:10px;align-items:center;margin-top:24px}.security-note{margin-top:15px;padding:13px 15px;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:12px}.security-note code{background:#ffedd5;padding:2px 5px;border-radius:5px}.editor-card small{font-weight:400;color:#94a3b8}@media(max-width:650px){.admin-head{display:block}.logout{display:inline-block;margin-top:15px}.grid{grid-template-columns:1fr}.editor-card{padding:18px}.screen{transform:translateX(-50%) scale(.9)}.person{right:25px}}

/* JavaScript interaction layer */
.js-ready .js-reveal{opacity:0;transform:translateY(10px);animation:jsReveal .55s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--delay)}
.migration-card{transform:translate3d(var(--mx,0),var(--my,0),0);transition:transform .18s ease-out}
.admin-illustration{transform:translate3d(var(--ix,0),var(--iy,0),0)}
.admin-image-link:hover .admin-illustration{transform:translate3d(var(--ix,0),var(--iy,0),0) translateY(-5px) scale(1.02)}
.main-link,.admin-image-link{position:relative;overflow:hidden}
.js-ripple{position:absolute;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.55);transform:translate(-50%,-50%) scale(0);animation:ripple .62s ease-out;pointer-events:none}
.main-link.is-loading{pointer-events:none;opacity:.86}
.js-toast{position:fixed;left:50%;bottom:22px;z-index:20;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:10px 16px;border-radius:999px;color:#fff;background:rgba(15,23,42,.9);box-shadow:0 10px 30px rgba(15,23,42,.2);font-size:12px;transition:.25s}
.js-toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes jsReveal{to{opacity:1;transform:none}}
@keyframes ripple{to{transform:translate(-50%,-50%) scale(24);opacity:0}}
@media(max-width:760px){
  .migration-page{padding:14px 10px}
  .migration-card{width:min(680px,100%);padding:22px 16px 20px;border-radius:24px}
  .admin-image-link{margin-top:8px}
  .admin-illustration{height:175px;transform:scale(.88)}
  .admin-image-link:hover .admin-illustration{transform:scale(.88) translateY(-3px)}
  h1{font-size:clamp(29px,9vw,42px);letter-spacing:-.6px}
  .lead{font-size:18px}
  .message{font-size:13px;line-height:1.7}
  .new-system{gap:10px;padding:11px 12px}
  .new-icon{width:38px;height:38px;font-size:19px}
  .new-text strong{font-size:13px}
  .new-text span{font-size:10px}
  .arrow{font-size:21px}
  .main-link{min-height:50px;font-size:13px}
  .contact-row{font-size:11px}
}
@media(max-width:420px){
  .top-status{font-size:9px;padding:6px 10px}
  .admin-illustration{height:158px;transform:scale(.79)}
  .admin-image-link:hover .admin-illustration{transform:scale(.79) translateY(-3px)}
  .admin-click-hint{font-size:10px}
  .new-system{border-radius:13px}
  footer{font-size:9px}
}
@media(hover:none){
  .admin-image-link:active .admin-illustration{transform:scale(.97)}
}
@media(prefers-reduced-motion:reduce),.reduce-motion *{
  animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important
}
