:root{--font:"Source Sans Pro",sans-serif;--bg:#f5f7ff;--bg2:#eef4ff;--panel:#ffffffcc;--panelSolid:#fff;--text:#0f172a;--muted:#5f6c80;--border:#dfe6f3;--shadow:0 24px 70px #0f172a1c;--shadowSoft:0 14px 34px #0f172a12;--primary:#4f46e5;--primary2:#2563eb;--primary3:#38bdf8;--danger:#f59e0b;--success:#22c55e;--success2:#16a34a;--input:#f7faff;--inputText:#0f172a;--ring:0 0 0 4px #4f46e52e;--ringSuccess:0 0 0 4px #22c55e35}
:root[data-theme="dark"]{--bg:#080f1f;--bg2:#0d1730;--panel:#111b31cc;--panelSolid:#101827;--text:#e5e7eb;--muted:#a9b4c7;--border:#24314d;--shadow:0 24px 80px #00000080;--shadowSoft:0 14px 34px #00000045;--primary:#818cf8;--primary2:#60a5fa;--primary3:#38bdf8;--danger:#fbbf24;--success:#4ade80;--success2:#22c55e;--input:#0b1428;--inputText:#e5e7eb;--ring:0 0 0 4px #818cf838;--ringSuccess:0 0 0 4px #4ade8033}
*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth}
body{margin:0;min-height:100vh;font-family:var(--font);background:radial-gradient(circle at 15% 10%,#dbeafe 0,transparent 34%),radial-gradient(circle at 85% 12%,#e0e7ff 0,transparent 32%),linear-gradient(135deg,var(--bg),var(--bg2));color:var(--text);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 20% 80%,#7dd3fc42 0,transparent 30%),radial-gradient(circle at 80% 82%,#a78bfa36 0,transparent 32%);pointer-events:none}
body:after{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#00000080,transparent 70%);pointer-events:none}
:root[data-theme="dark"] body{background:radial-gradient(circle at 15% 10%,#1e3a8a73 0,transparent 34%),radial-gradient(circle at 86% 12%,#4338ca66 0,transparent 32%),linear-gradient(135deg,var(--bg),var(--bg2))}
.page{min-height:100vh;display:flex;flex-direction:column}
.wrap{width:100%;max-width:980px;margin:0 auto;padding:0 20px}
.themeFloat{position:fixed;top:18px;right:18px;z-index:50;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:var(--shadowSoft);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.themeFloat:hover{transform:translateY(-2px);box-shadow:0 18px 38px #0f172a20}
.themeFloat:focus{outline:0;box-shadow:var(--ring)}
.themeFloat svg{width:21px;height:21px;fill:currentColor}
.themeFloat .icon-moon{display:none}
:root[data-theme="dark"] .themeFloat .icon-sun{display:none}
:root[data-theme="dark"] .themeFloat .icon-moon{display:block}
.hero{position:relative;padding:52px 0 22px}
.brand{max-width:780px}
.titleRow{display:flex;align-items:center;gap:12px}
.titleIcon{width:42px;height:42px;border-radius:14px;object-fit:cover;box-shadow:0 12px 28px #2563eb2e}
.title{margin:0;font-size:clamp(26px,4vw,38px);line-height:1.08;letter-spacing:-.6px;font-weight:700;background:linear-gradient(135deg,var(--text),var(--primary2));-webkit-background-clip:text;background-clip:text;color:transparent}
.subtitle{margin:14px 0 0;color:var(--muted);line-height:1.65;font-size:15.5px;max-width:760px}
.content{flex:1;padding:16px 0 30px}
.card{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow);padding:18px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);overflow:hidden}
.card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#ffffff80,transparent 40%,#38bdf81a);pointer-events:none}
:root[data-theme="dark"] .card:before{background:linear-gradient(135deg,#ffffff14,transparent 44%,#818cf81c)}
#parse-html{position:relative;z-index:1}
.editorHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.hint{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);font-weight:700}
.hint:before{content:"";width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--primary3),var(--primary));box-shadow:0 0 0 5px #38bdf81a}
textarea#somewhere{width:100%;height:360px;resize:vertical;border-radius:20px;border:1px solid var(--border);background:var(--input);color:var(--inputText);padding:17px;font-family:Consolas,Monaco,"Andale Mono",monospace;font-size:13.5px;line-height:1.6;box-shadow:inset 0 1px 0 #ffffff70;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
textarea#somewhere:focus{outline:0;box-shadow:var(--ring);border-color:#4f46e58a}
textarea#somewhere::placeholder{color:color-mix(in srgb,var(--muted) 76%,transparent)}
:root[data-theme="dark"] textarea#somewhere{box-shadow:inset 0 1px 0 #ffffff12}
:root[data-theme="dark"] textarea#somewhere:focus{border-color:#818cf88c}
.btnRow{display:flex;flex-direction:column;gap:11px;margin-top:13px}
.btnGroup{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:11px}
.btn{width:100%;border:0;border-radius:16px;cursor:pointer;font-weight:700;letter-spacing:.15px;transition:transform .12s ease,opacity .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,filter .2s ease;user-select:none;touch-action:manipulation}
.btn:hover{transform:translateY(-1px);filter:saturate(1.08)}
.btn:focus{outline:0;box-shadow:var(--ring)}
.btn:active{transform:translateY(1px)}
.btn-parse{padding:15px 16px;font-size:15px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 16px 34px #2563eb38}
.btn-danger{padding:13px 14px;font-size:14px;background:#f59e0b22;color:var(--text);border:1px solid #f59e0b5c}
.btn-success{padding:13px 14px;font-size:14px;background:linear-gradient(135deg,var(--success),var(--success2));color:#fff;border:1px solid #22c55e66;box-shadow:0 16px 30px #22c55e30}
.btn-success:focus{box-shadow:var(--ringSuccess)}
.is-hidden{display:none!important}
.alert{position:fixed;top:20px;right:20px;min-width:280px;max-width:420px;padding:14px 16px;border-radius:18px;border:1px solid #22c55e66;background:linear-gradient(135deg,var(--success),var(--success2));box-shadow:0 18px 42px #22c55e45;z-index:9999;transform:translateY(-10px);opacity:0;transition:opacity .18s ease,transform .18s ease}
.alert:not(.collapse){transform:translateY(0);opacity:1}
.alert-success{color:#fff}
.collapse{display:none}
button.close{padding:0;cursor:pointer;border:0;background:transparent;-webkit-appearance:none}
.close{float:right;font-size:1.35rem;color:#fff;margin:0 0 0 10px;line-height:1;opacity:.9}
.close:hover{opacity:1}
#btnInfo h4{margin:0;font-size:13.5px;line-height:1.6;font-weight:700}
.footer{padding:20px 0 30px;border-top:1px solid var(--border)}
.footer p{margin:0;text-align:center;color:var(--muted);font-weight:600;font-size:14px}
.footer a{color:var(--text);text-decoration:none}
.footer a:hover{text-decoration:underline}
.support{position:relative;z-index:3;text-align:center;margin-top:12px;margin-bottom:8px}
.support-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;background:#dcfce7;border:1px solid #22c55e;text-decoration:none;font-size:13px;font-weight:700;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.footer .support a{color:#16a34a}
.footer .support a:hover{text-decoration:none}
.support-btn:hover{background:#bbf7d0;transform:translateY(-1px);box-shadow:0 10px 24px #22c55e2e}
.icon-gift{width:18px;height:18px;fill:#dc2626;animation:shake 2.5s infinite;transform-origin:center}
@keyframes shake{0%{transform:rotate(0deg)}5%{transform:rotate(-8deg)}10%{transform:rotate(6deg)}15%{transform:rotate(-4deg)}20%{transform:rotate(2deg)}25%{transform:rotate(0deg)}100%{transform:rotate(0deg)}}
@media screen and (max-width:800px){
.wrap{padding:0 16px}
.themeFloat{top:14px;right:14px;width:43px;height:43px}
.hero{padding:38px 0 18px}
.titleRow{gap:10px;padding-right:48px}
.titleIcon{width:36px;height:36px;border-radius:12px}
.title{font-size:clamp(24px,7vw,30px)}
.subtitle{font-size:14.5px;line-height:1.6}
.content{padding:10px 0 24px}
.card{border-radius:22px;padding:14px}
textarea#somewhere{height:330px;border-radius:17px;padding:14px;font-size:13px}
.btnGroup{grid-template-columns:1fr}
.alert{top:14px;right:14px;left:14px;width:auto;max-width:none;min-width:0}
}
@media screen and (max-width:420px){
.titleRow{align-items:center}
.titleIcon{width:34px;height:34px}
.title{font-size:24px;letter-spacing:-.35px}
.subtitle{font-size:14px}
.hint{font-size:13px}
.btn-parse{padding:14px}
.btn-danger,.btn-success{padding:12px}
}