:root{--bg:#f0f2f5;--bg2:#f6f8fa;--ink:#1a202c;--muted:#8a94a6;--rule:#e5e9f0;--accent:#2563eb;--accent2:#7c3aed;--green:#16a34a;--orange:#f59e0b;--red:#dc2626}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.6}#app{background:var(--bg);max-width:500px;min-height:100vh;margin:0 auto}.nav-bar{border-bottom:.5px solid var(--rule);z-index:50;background:#fff;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex;position:sticky;top:0}.nav-bar .nav-title{font-size:17px;font-weight:600}.nav-bar .nav-back{color:var(--ink);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.nav-bar .nav-more{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:14px}.btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;padding:12px 20px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex}.btn.ghost{color:var(--accent);border:1px solid var(--accent);background:#fff}.btn.gray{background:var(--bg2);color:var(--ink)}.btn.sm{border-radius:8px;width:auto;padding:7px 14px;font-size:13px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5}.event-actions{scrollbar-width:none;-ms-overflow-style:none}.event-actions::-webkit-scrollbar{display:none}.event-action-btn{border:.5px solid var(--rule);background:var(--bg2);color:var(--ink);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:3px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.event-action-btn span:first-child{font-size:13px}.event-action-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.event-action-btn.danger{color:var(--red);border-color:var(--red);background:#fff}.event-action-btn:active{transform:scale(.96)}.card{background:#fff;border-radius:14px;margin:12px 16px;padding:16px;box-shadow:0 1px 3px #0000000a}.field{border-bottom:.5px solid var(--rule);background:#fff;padding:14px 16px}.field:last-child{border-bottom:none}.field-label{color:var(--muted);margin-bottom:6px;font-size:13px}.field-value{color:var(--ink);font-size:15px}.field-input{width:100%;color:var(--ink);background:0 0;border:none;outline:none;font-family:inherit;font-size:15px}.field-input::placeholder{color:#c0c6d0}textarea.field-input{resize:none}.tag{border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.tag.blue{color:var(--accent);background:#2563eb1a}.tag.green{color:var(--green);background:#16a34a1a}.tag.orange{color:var(--orange);background:#f59e0b1a}.tag.gray{background:var(--bg2);color:var(--muted)}.tag.purple{color:var(--accent2);background:#7c3aed1a}.tag.red{color:var(--red);background:#dc26261a}.gradient-hero{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%)}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.toast{color:#fff;z-index:999;pointer-events:none;opacity:0;background:#000c;border-radius:10px;padding:12px 24px;font-size:14px;transition:opacity .3s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.toast.show{opacity:1}.empty{text-align:center;color:var(--muted);padding:60px 20px}.empty .empty-icon{margin-bottom:12px;font-size:48px}.bottom-bar{border-top:.5px solid var(--rule);background:#fff;gap:10px;padding:14px 16px 24px;display:flex;position:sticky;bottom:0}.list-item{border-bottom:.5px solid var(--rule);align-items:center;gap:10px;padding:12px 16px;display:flex}.list-item:last-child{border-bottom:none}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.form-field-item{background:#fff;border:1px solid #0000;border-radius:10px;margin-bottom:8px;padding:12px 14px;transition:box-shadow .2s,border-color .2s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000a}.form-field-item.drag-placeholder{background:var(--bg2);border:1px dashed var(--accent);box-shadow:none;opacity:.55}.form-field-item.drag-placeholder *{visibility:hidden}.form-field-item.dragging-ghost{z-index:1000;pointer-events:none;opacity:.98;background:#fff;border:1px solid #2563eb40;width:100%;max-width:500px;transition:transform 60ms;position:fixed;top:0;left:0;transform:scale(1.02);box-shadow:0 12px 32px #00000029}.drop-indicator{background:var(--accent);opacity:0;border-radius:2px;height:0;margin:0;transition:opacity .15s,transform .15s,height .15s,margin .15s;position:relative;transform:scaleX(0)}.drop-indicator.show{opacity:1;height:3px;margin:-2px 0 10px;transform:scaleX(1)}.drop-indicator.show:before{content:"";background:var(--accent);border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px;box-shadow:0 1px 3px #0003}.drag-handle{cursor:grab;color:var(--muted);border-radius:8px;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;margin:2px 6px -4px -6px;padding:4px;line-height:1;transition:background .2s,color .2s;display:flex}.drag-handle:active{cursor:grabbing;color:var(--accent);background:#2563eb14}.field-main{flex:1;min-width:0;padding-right:8px}.field-title{color:var(--ink);align-items:baseline;gap:6px;font-size:15px;font-weight:500;line-height:1.45;display:flex}.field-title .field-index{color:var(--muted);flex-shrink:0;min-width:20px;font-size:15px;font-weight:500}.field-title .required-mark{color:var(--red);font-size:13px}.field-body{color:#b0b8c4;margin-top:8px;font-size:13px;line-height:1.6}.field-body .placeholder-box{background:var(--bg2);color:#b0b8c4;border-radius:6px;padding:8px 10px}.field-body .option-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.field-body .option-row:last-child{margin-bottom:0}.field-body .option-radio,.field-body .option-checkbox{border:1px solid #c0c6d0;border-radius:50%;flex-shrink:0;width:14px;height:14px}.field-body .option-checkbox{border-radius:3px}.field-type-tag{color:var(--muted);background:var(--bg2);border-radius:4px;align-items:center;gap:4px;margin-top:4px;padding:2px 6px;font-size:12px;display:inline-flex}.field-actions{flex-direction:column;flex-shrink:0;align-self:flex-start;align-items:center;gap:4px;padding-top:2px;display:flex}.field-actions .action-btn{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:13px;transition:background .2s,color .2s;display:flex}.field-actions .action-btn:hover{background:var(--bg2);color:var(--ink)}.field-actions .action-btn.delete:hover{color:var(--red);background:#dc262614}.field-actions .action-btn:disabled{opacity:.25;cursor:not-allowed}.field-type-sheet{background:var(--bg2);padding:16px}.field-type-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.field-type-card{cursor:pointer;background:#fff;border:1.5px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;transition:all .15s;display:flex;box-shadow:0 1px 3px #0000000a}.field-type-card.selected{border-color:var(--accent);background:#2563eb0a}.field-type-card .ft-icon{background:var(--bg2);width:40px;height:40px;color:var(--ink);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:background .15s;display:flex}.field-type-card.selected .ft-icon{color:var(--accent);background:#2563eb1a}.field-type-card .ft-info{flex:1;min-width:0}.field-type-card .ft-title{color:var(--ink);font-size:15px;font-weight:500;line-height:1.4}.field-type-card .ft-desc{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.4}.field-type-card .ft-check{border:1.5px solid var(--rule);color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .15s;display:flex}.field-type-card.selected .ft-check{background:var(--accent);border-color:var(--accent);color:#fff}.field-type-card .ft-check svg{width:13px;height:13px}.field-type-actions{gap:12px;display:flex}.field-type-actions .btn{cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px;font-size:15px;font-weight:500;transition:opacity .15s}.field-type-actions .btn:active{opacity:.85}.poster-size-pill{-webkit-user-select:none;user-select:none;transition:all .15s}.poster-size-pill:active{transform:scale(.96)}
