@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes skeleton{0%{background-position:100%0}to{background-position:-100%0}}:root{--bg:#020617;--panel:#020617;--card:#020617;--border:#1e293b;--text:#e5e7eb;--muted:#94a3b8;--accent:#38bdf8}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:radial-gradient(circle at top,#020617,#020617);color:var(--text);min-height:100vh}.sidebar{width:240px;background:#020617;border-right:1px solid var(--border);padding:20px;position:fixed;inset:0 auto 0 0;transform:translateX(0);transition:transform .3s ease;z-index:1000}.sidebar h2{font-size:18px;margin:0 0 10px;color:var(--accent)}.sidebar p,label{font-size:14px;color:var(--muted)}.sidebar.hidden{transform:translateX(-100%)}.main,body{display:flex}.main{flex:1;margin-left:240px;align-items:center;justify-content:center;padding:24px}.card{width:100%;max-width:520px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:0 20px 50px rgba(0,0,0,.6)}.card h1{margin:0 0 16px;font-size:22px}label{display:block;margin-bottom:6px}input[type=number],input[type=url]{width:100%;padding:14px;background:#020617;border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:15px}input:focus{outline:0;border-color:var(--accent)}.checkbox,.row{display:flex;align-items:center}.row{gap:10px;margin-top:12px}.checkbox{gap:8px;font-size:14px}button{width:100%;margin-top:16px;padding:14px;font-size:15px;font-weight:600;border:0;border-radius:12px;background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:#020617;cursor:pointer;position:relative;overflow:hidden}button:disabled{opacity:.6;cursor:not-allowed}.output{margin-top:16px;padding:14px;background:#020617;border:1px dashed var(--border);border-radius:12px;word-break:break-all}.output,.toggle-btn{display:none}@media (max-width:768px){.toggle-btn{position:fixed;top:1px;left:10px;z-index:1200;width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:rgba(2,6,23,.75);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer}.toggle-btn span,.toggle-btn::after,.toggle-btn::before{content:"";position:absolute;width:16px;height:2px;background:var(--text);border-radius:2px}.toggle-btn::before{transform:translateY(-5px)}.toggle-btn::after{transform:translateY(5px)}.toggle-btn span{opacity:.85}.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main{margin-left:0}}.link-store{margin-top:20px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 160px);overflow-y:auto;padding-right:6px}.link-item,.qr-wrap img{border:1px solid var(--border);cursor:pointer}.link-item{background:#020617;border-radius:10px;padding:10px;font-size:13px;color:var(--text);transition:.2s;word-break:break-all}.link-item:hover{border-color:var(--accent);color:var(--accent)}.sidebar-top-safe{display:none}@media (max-width:768px){.sidebar-top-safe{display:block;height:48px}}button.loading{opacity:.85;pointer-events:none;position:relative;color:transparent}button.loading .btn-text{opacity:0}button.loading .spinner{opacity:1}.spinner,button.loading::after{border-top-color:#020617;border-radius:50%;position:absolute}.spinner{width:18px;height:18px;border:2px solid rgba(2,6,23,.3);animation:spin .7s linear infinite;opacity:0}.btn-wrap,.qr-wrap{display:flex;justify-content:center}button.loading::after{content:"";width:20px;height:20px;border:3px solid rgba(2,6,23,.25);top:50%;left:50%;transform:translate(-50%,-50%);animation:spin .8s linear infinite}.qr-wrap{margin-top:12px}.qr-wrap img{width:160px;max-width:100%;border-radius:12px;transition:transform .2s ease,box-shadow .2s ease}.qr-wrap img:hover{transform:scale(1.04);box-shadow:0 10px 30px rgba(0,0,0,.5)}.result-inline{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px}.result-label{color:var(--muted);font-weight:500}.result-link{color:var(--accent);font-weight:600;text-decoration:none;word-break:break-all}.result-link:hover{text-decoration:underline}.dev-note{margin-top:14px;padding:12px;border-radius:10px;background:rgba(56,189,248,.06);border:1px dashed var(--border);font-size:13px;color:var(--muted);line-height:1.5}.qr-skeleton{width:160px;height:160px;border-radius:12px;background:linear-gradient(90deg,#020617 25%,#0b1220 37%,#020617 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite;border:1px solid var(--border)}