:root{--brand:#6250e8;--brand-dark:#4e3dc7;--pale:#f1efff;--ink:#202639;--muted:#7b8194;--line:#e8e8f0;--bg:#f7f8fc;--radius:20px;--accent:#6250e8;--accent-pale:#f1efff;--accent-bg:#f5f3fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","Noto Sans CJK SC",sans-serif}a{color:var(--brand);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b7aefa;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:none;border-color:#a99bef;box-shadow:0 0 0 3px #6250e80e}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:760;line-height:1.35;letter-spacing:-.6px}h2{font-size:20px;line-height:1.5}h3{font-size:16px}p{overflow-wrap:anywhere}form{margin:0}input,textarea{min-width:0}[hidden]{display:none!important}.header{border-bottom:1px solid var(--line);background:#ffffffed}.header-inner{max-width:1192px;min-height:76px;margin:auto;padding:10px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:750;color:var(--ink);white-space:nowrap}.brand img{border-radius:10px}.version{font-size:10px;font-weight:500;color:#958eaa;margin-left:5px;padding:3px 7px;border:1px solid #edeaf6;border-radius:6px}.header nav{display:flex;align-items:center;gap:23px;font-size:12px}.header nav>a:not(.button){color:#71778a}.text-button{border:0;background:none;padding:0;color:var(--brand);font-size:12px}.shell{max-width:1140px;margin:0 auto;padding:34px 26px 30px;min-height:calc(100vh - 156px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #dddfe9;border-radius:10px;padding:10px 17px;min-height:42px;font-size:13px;font-weight:600;line-height:1.5;color:var(--ink);white-space:nowrap}.button:hover{border-color:#b8b0ec;background:#fbfaff}.button.primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 4px 9px #6250e814}.button.primary:hover{background:var(--brand-dark)}.button.small{min-height:33px;font-size:11px;padding:6px 11px}.button.large{min-height:48px;padding:12px 22px}.full{width:100%}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px #27284003}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--brand);margin-bottom:9px}.muted{color:var(--muted);font-size:13px;margin-top:7px}.tiny,.hint{color:var(--muted);font-size:11px;line-height:1.8}.hint{margin-top:9px}.footer{max-width:1140px;margin:auto;display:flex;justify-content:space-between;gap:16px;padding:8px 26px 25px;font-size:10px;line-height:1.8;color:#9599a8}.footer>span:last-child{text-align:right;max-width:60%}.local-banner{margin:0 0 24px;padding:9px 14px;border:1px solid #efe4c6;background:#fffcf1;border-radius:10px;font-size:11px;color:#9a7939}.local-banner span{font-weight:700;margin-right:9px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center;padding:50px 0 45px}.hero h1{font-size:49px;line-height:1.35;letter-spacing:-1.5px}.hero-intro{font-size:15px;color:var(--muted);line-height:2;margin:21px 0 28px}.fine-print{font-size:11px;color:#9295a5;margin-top:16px}.hero-visual{position:relative;border-radius:30px;background:radial-gradient(ellipse at 40% 20%,#fff 2%,#f3f0ff 70%,#e9e4fb);border:1px solid #ebe5ff;padding:42px 32px 20px;min-height:452px;display:grid;place-items:center;gap:15px}.floating-label{position:absolute;top:-12px;left:28px;border:1px solid #e7e2f6;box-shadow:0 3px 10px #2b155510;background:white;border-radius:20px;font-size:11px;padding:5px 12px;color:#7c71a0}.hero-card{width:270px;max-width:100%;background:#fff;border:1px solid #eeeaf7;box-shadow:0 12px 28px #7669ad12;border-radius:22px;padding:24px;text-align:center}.hero-card h2{font-size:18px}.hero-card>p{font-size:10px;color:var(--muted);margin:5px 0 15px}.mini-logo{width:36px;height:36px;display:grid;place-items:center;margin:0 auto 13px;border-radius:12px;background:var(--accent-pale);color:var(--accent);font-size:23px;line-height:1}.qr-placeholder{height:153px;background:#faf9fe;border:1px solid #eeebf6;border-radius:12px;display:grid;place-content:center;justify-items:center;gap:10px}.qr-placeholder img{opacity:.27}.qr-placeholder span{font-size:10px;color:#9690a6}.example-pill{font-family:Consolas,monospace;font-size:10px;background:#faf9fe;border-radius:6px;padding:6px 9px;display:flex;justify-content:space-between;margin-top:7px;color:#8173b0}.example-pill span{font-family:inherit;font-size:9px;color:#9892a6}.visual-note{font-size:10px;color:#9188aa}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-grid article{padding:25px}.feature-number{font-size:11px;color:var(--brand);background:var(--pale);border-radius:7px;padding:4px 7px}.feature-grid h3{margin-top:13px}.feature-grid p{font-size:12px;color:var(--muted);margin-top:7px}.quiet-note{margin:23px 0 6px;font-size:11px;color:#9296a5;line-height:1.95}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:25px}.page-head .muted{margin-top:8px}.back{display:inline-block;font-size:11px;color:#8a859b;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:15px;margin-bottom:25px}.stats>div{padding:17px 25px}.stats>div+div{border-left:1px solid var(--line)}.stats span{display:block;color:var(--muted);font-size:11px}.stats strong{display:block;font-size:26px;line-height:1.5;margin-top:4px;font-weight:700}.stats small{font-size:12px;font-weight:400;color:#969bad}.pages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.qr-card{padding:19px}.card-top,.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px}.badge{display:inline-block;font-size:10px;font-weight:500;line-height:1.5;padding:4px 8px;border-radius:20px;background:#f0f0f6;color:#8b8599;white-space:nowrap}.badge.green{color:#35826a;background:#edf8f3}.badge.red{color:#b35659;background:#fcefee}.thumbnail{display:flex;align-items:center;justify-content:center;margin:17px 0 15px;border-radius:12px;background:#fafafe;border:1px solid #eeedf5;height:180px;padding:13px}.thumbnail img{max-width:100%;height:100%;object-fit:contain}.qr-card h3{overflow-wrap:anywhere}.card-description{font-size:11px;line-height:1.8;color:var(--muted);margin:7px 0 17px;min-height:39px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-bottom{border-top:1px solid #efeff6;padding-top:13px}.new-card{min-height:300px;border:1px dashed #d8d1ee;border-radius:20px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#a69cbf;background:#faf9fe;gap:6px}.new-card>span{font-size:30px;line-height:1.5;color:#ad9ce2}.new-card strong{font-size:13px;font-weight:500}.new-card small{font-size:10px}.empty-state{padding:65px 30px;text-align:center;margin:20px auto}.empty-state>img{margin-bottom:18px}.empty-state h2{font-size:22px}.empty-state p{font-size:13px;color:var(--muted);margin:11px auto 24px;max-width:580px}.notice{padding:11px 15px;border-radius:11px;font-size:12px;background:#fffaee;border:1px solid #eee2be;color:#997737;margin:15px 0}.notice.error{background:#fff4f2;border-color:#f1d9d1;color:#a45142}.notice.success{background:#f0faf5;border-color:#d9ede3;color:#357b59}.editor-grid{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr);gap:22px;align-items:start}.edit-card{padding:25px}.section-heading{display:flex;gap:9px;align-items:center;margin-bottom:18px}.section-heading>span:first-child{font-size:10px;padding:4px 7px;border-radius:6px;color:var(--brand);background:var(--pale);font-weight:750}.section-heading h2{font-size:16px}.upload-zone{border:1.5px dashed #cfc7ed;border-radius:12px;background:#faf9ff;padding:20px 14px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;cursor:pointer;position:relative;text-align:center;min-height:133px}.upload-zone:hover,.upload-zone.dragging{background:#f2effd;border-color:#a799df}.upload-zone>strong{font-size:13px;font-weight:600}.upload-zone>span:last-of-type{font-size:10px;font-weight:400;color:#9a91b1}.upload-symbol{font-size:29px;color:var(--brand);line-height:1.3}.upload-zone input{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.edit-card label:not(.upload-zone):not(.check),.auth-card label:not(.check),.account-card label,.admin-settings label:not(.check){display:block;font-size:12px;font-weight:600;margin-top:17px}.label-note{float:right;font-size:10px;font-weight:400;color:#9ba0af}input:not([type=checkbox]):not([type=file]),textarea,select{display:block;width:100%;padding:10px 12px;border:1px solid #dedfea;background:#fff;border-radius:9px;color:var(--ink);margin-top:6px;min-height:42px;font-size:12px;font-weight:400}textarea{resize:vertical;line-height:1.8}select{cursor:pointer}.check{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#8b8999;margin:13px 0;cursor:pointer;font-weight:400}.check input{width:14px;height:14px;flex:0 0 14px;margin:3px 0 0;accent-color:var(--brand)}.save-row{display:flex;align-items:center;gap:14px;margin:24px 0 12px;flex-wrap:wrap}.preview-panel{padding:23px 26px 25px;border-radius:20px;background:linear-gradient(140deg,#fbfaff,#efedf8);border:1px solid #e9e3f7;position:sticky;top:20px}.preview-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.preview-heading h2{font-size:12px;font-weight:500}.preview-heading .badge{background:#ffffffac;border:1px solid #e7e0f4}.theme-ocean{--accent:#2486b1;--accent-pale:#eaf6fa;--accent-bg:#f0f6fa}.theme-rose{--accent:#bf6a8b;--accent-pale:#fff0f5;--accent-bg:#fbf3f7}.phone{background:white;border:5px solid #eeedf5;box-shadow:0 14px 30px #6b55a016;width:280px;max-width:100%;margin:auto;padding:18px 18px 19px;border-radius:27px;text-align:center;min-height:411px}.phone-notch{width:49px;height:4px;background:#e4e2ed;border-radius:4px;margin:0 auto 23px}.phone h3{font-size:20px;line-height:1.5;overflow-wrap:anywhere}.phone>p:not(.phone-footnote){font-size:11px;color:var(--muted);line-height:1.9;margin:8px 0 17px;white-space:pre-line;overflow-wrap:anywhere}.preview-qr{padding:12px;border:1px solid #eceaf3;border-radius:10px;min-height:180px;display:flex;align-items:center;justify-content:center}.preview-qr>img{display:block;max-width:100%;max-height:265px;object-fit:contain}.preview-qr>div{display:flex;flex-direction:column;align-items:center;gap:14px;font-size:10px;color:#a69eb9}.preview-qr>div img{opacity:.27}.preview-save{border:1px solid var(--accent-pale);color:var(--accent);background:var(--accent-pale);padding:7px;border-radius:8px;font-size:11px;margin-top:14px}.phone-footnote{font-size:9px;color:#ada7b8;margin-top:11px}.preview-caption{text-align:center;margin-top:17px;font-size:10px;color:#91879f}.sharing{margin-top:23px;padding:25px}.heading-note{margin-left:auto;color:var(--muted);font-size:10px}.sharing>.muted{font-size:12px;margin-top:-8px}.link-box{background:#f8f8fd;border:1px solid #e9e6f2;border-radius:12px;padding:17px;margin-top:17px}.link-box label{font-size:11px;font-weight:600}.link-box input{background:transparent;border:0;box-shadow:none;padding:0;min-height:35px;color:var(--brand);font-family:Consolas,monospace;font-size:12px}.link-box .actions{margin-top:10px}.timer-row{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-top:15px}.timer-row .check{margin:0}.timer-row select{width:auto;min-height:31px;padding:4px 8px;margin:0;font-size:11px}.history{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:12px}.history summary{cursor:pointer;font-weight:600}.history summary span{font-weight:400;font-size:10px;color:#9390a3;margin-left:12px}.history ul{margin:10px 0 14px;padding:0;list-style:none;max-height:260px;overflow:auto}.history li{display:flex;align-items:center;gap:14px;border-bottom:1px solid #f0eff5;padding:9px 0;min-width:0}.history li>a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px/1.8 Consolas,monospace;flex:1}.history li>button,.history li>form{flex:0 0 auto}.text-link{font-size:11px}.danger{color:#b65d59!important}.danger-zone{padding:20px 25px;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.danger-zone h3{font-size:13px;margin-bottom:3px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;max-width:935px;margin:48px auto 35px}.auth-aside h1{font-size:39px;margin-bottom:18px}.auth-aside>p{line-height:2;font-size:13px;color:var(--muted)}.auth-detail{display:flex;flex-direction:column;gap:2px;border-left:3px solid #d4cdfa;padding-left:15px;margin-top:25px;font-size:13px}.auth-detail span{font-size:12px;color:var(--muted)}.auth-card{padding:30px}.auth-card h2{font-size:25px}.auth-card .full{margin-top:25px}.auth-switch{text-align:center;font-size:12px;color:var(--muted);margin-top:20px}.auth-card>.tiny{text-align:center;margin-top:10px}.account-card{max-width:525px;margin:0 auto;padding:29px}.account-card .button{margin-top:23px}.admin-settings{padding:23px;margin-bottom:20px}.admin-settings summary{cursor:pointer;font-weight:650}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.admin-settings .button{margin-top:17px}.admin-section{padding:24px;margin:20px 0}.admin-section h2{font-size:17px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;margin-top:13px;text-align:left;font-size:12px}th{font-size:10px;color:var(--muted);font-weight:500;background:#fafafe}td,th{border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:middle}td strong{font-size:12px}.admin-qr{width:50px;height:50px;object-fit:contain}.viewer{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:30px 18px;background:var(--accent-bg)}.viewer-card{width:100%;max-width:415px;background:white;border:1px solid #e9e5f1;border-radius:27px;box-shadow:0 16px 50px #44306a09;padding:32px 28px 24px;text-align:center}.viewer h1{font-size:25px;line-height:1.5;overflow-wrap:anywhere;letter-spacing:0}.viewer .mini-logo{width:43px;height:43px;font-size:26px;margin-bottom:18px}.viewer-note{font-size:13px;line-height:1.9;color:var(--muted);white-space:pre-line;margin:11px 0 22px}.public-qr{padding:14px;border:1px solid #efecf5;border-radius:14px;background:white;min-height:200px;display:flex;align-items:center;justify-content:center;margin-top:20px}.public-qr img{display:block;max-width:100%;height:auto;max-height:65vh;object-fit:contain}.viewer-save{border:1px solid var(--accent-pale);color:var(--accent);background:var(--accent-pale);margin-top:19px;font-size:13px}.viewer-hint{font-size:10px;color:#aaa4b6;margin-top:12px}.viewer-footer{margin-top:22px;padding-top:14px;border-top:1px solid #f0edf5;font-size:9px;color:#aba6b4;line-height:1.9;overflow-wrap:anywhere}.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);max-width:min(90vw,630px);padding:12px 18px;background:#252638;color:white;font-size:12px;border-radius:12px;box-shadow:0 10px 30px #0002;z-index:100;line-height:1.7}
@media(max-width:900px){.hero{gap:28px;padding-top:30px}.hero h1{font-size:39px}.header nav{gap:14px}.version{display:none}.pages-grid{grid-template-columns:repeat(2,1fr)}.auth-layout{gap:40px}.auth-aside h1{font-size:34px}}
@media(max-width:700px){.header-inner{min-height:65px;padding:12px 17px;gap:10px}.brand{font-size:15px;gap:8px}.brand img{width:30px;height:30px}.header nav{font-size:10px;gap:12px}.nav-secondary{display:none}.header nav .text-button{font-size:10px}.shell{padding:24px 16px}.hero{grid-template-columns:1fr;gap:37px;padding:15px 0 25px}.hero h1{font-size:37px}.hero-intro{font-size:13px;margin:15px 0 23px}.hero-visual{max-width:430px;width:100%;margin:auto;min-height:390px;padding:29px 25px 17px}.feature-grid{grid-template-columns:1fr;gap:12px}.feature-grid article{padding:19px}.feature-grid h3{display:inline-block;margin:0 0 0 9px;font-size:14px}.feature-grid p{font-size:12px;margin-top:9px}.page-head{gap:12px;margin-bottom:19px;align-items:flex-start}.page-head h1{font-size:27px}.page-head>.button{font-size:11px;padding:9px 11px;min-height:37px;margin-top:5px}.muted{font-size:12px}.stats>div{padding:13px 15px}.stats strong{font-size:23px}.stats small{display:block;font-size:10px}.stats span{font-size:10px}.pages-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.qr-card{padding:13px}.thumbnail{height:135px;margin:12px 0;padding:8px}.qr-card h3{font-size:13px}.card-description{font-size:10px;margin-bottom:12px}.card-top{gap:4px}.card-top .tiny{font-size:9px}.badge{font-size:9px;padding:3px 6px}.card-bottom{flex-wrap:wrap;gap:8px}.card-bottom .tiny{font-size:9px}.new-card{min-height:260px}.new-card strong{font-size:12px}.new-card small{font-size:9px}.editor-grid{grid-template-columns:1fr;gap:17px}.edit-card,.sharing{padding:20px}.preview-panel{position:static;padding:20px}.preview-panel .phone{width:283px}.save-row{gap:10px}.heading-note{font-size:9px}.section-heading h2{font-size:15px}.sharing .button{padding:9px 12px;font-size:11px}.link-box{padding:13px}.link-box input{font-size:11px}.history summary span{display:block;margin:4px 0;font-size:9px}.history li{gap:10px}.danger-zone{align-items:flex-start;flex-direction:column;padding:20px;gap:13px}.auth-layout{grid-template-columns:1fr;gap:25px;margin:14px auto;max-width:430px}.auth-aside h1{font-size:29px;margin-bottom:10px}.auth-detail{display:none}.auth-card{padding:24px}.auth-card h2{font-size:22px}.auth-aside>p{font-size:12px}.auth-aside .eyebrow{font-size:9px}.account-card{padding:22px}.account-card h1{font-size:27px}.settings-grid{grid-template-columns:1fr}.admin-section,.admin-settings{padding:18px}.admin-section .hint{font-size:10px}.viewer{padding:22px 15px}.viewer-card{padding:27px 22px 23px;border-radius:24px}.viewer h1{font-size:23px}.footer{padding:3px 17px 22px;display:block;font-size:9px;line-height:2}.footer>span{display:block}.footer>span:last-child{text-align:left;max-width:100%}.local-banner{font-size:10px}.empty-state{padding:45px 20px}.empty-state h1{font-size:25px}}
@media(prefers-reduced-motion:no-preference){.button{transition:background .15s,border-color .15s}.card{animation:appear .25s ease-out}@keyframes appear{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}}
