:root{--bg: #101418;--bg2: #1a2027;--card: #202832;--text: #e8edf2;--text-2: #9aa7b4;--accent: #4da3ff;--green: #39d98a;--red: #ff6b6b;--border: #303a46}html{font-size:16px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;padding:6px 10px;padding-top:calc(6px + env(safe-area-inset-top));background:var(--bg2);border-bottom:1px solid var(--border)}.brand{font-weight:700;color:var(--accent);white-space:nowrap;font-size:.95rem}.topbar nav{display:flex;gap:2px;flex:1;overflow-x:auto}.topbar nav a{color:var(--text-2);text-decoration:none;padding:6px 8px;border-radius:7px;white-space:nowrap;font-size:.9rem}.topbar nav a.active{color:var(--text);background:var(--card)}.zoom-ctl{display:flex;gap:2px}.zoom-btn{background:none;border:1px solid var(--border);color:var(--text-2);border-radius:7px;padding:3px 7px;font-size:12px;font-weight:600;cursor:pointer}.zoom-btn.zoom-big{font-size:15px}.zoom-btn:disabled{opacity:.35}main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:10px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.appfooter{text-align:center;color:var(--text-2);font-size:.7rem;padding:8px;border-top:1px solid var(--border)}.page{display:flex;flex-direction:column;gap:10px}h1,h2{margin:0}h2{font-size:1.2rem}.tight{gap:4px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px}.card.dim{opacity:.55}.cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cards .card{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px}.card-main{display:flex;flex-direction:column;gap:1px;flex:1;min-width:150px}.stack{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:6px}.row.spread{justify-content:space-between}.row.wrap,.wrap{flex-wrap:wrap}input,select,textarea{background:var(--bg2);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-size:max(16px,1rem);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);border-color:transparent}button,.btn{background:var(--accent);color:#0b1016;border:none;border-radius:7px;padding:8px 12px;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}button.linklike{background:none;color:var(--text-2);font-weight:400;padding:4px 6px;font-size:.85rem}button.linklike:hover{color:var(--text)}.linklike.danger{color:var(--red)}.chip{background:var(--bg2);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-weight:400;font-size:.9rem}.chip.on{background:var(--accent);color:#0b1016;border-color:var(--accent);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:6px}.field{display:flex;flex-direction:column;gap:4px}.field-label{color:var(--text-2);font-size:.85rem}.field.instruction{background:var(--bg2);border-left:3px solid var(--accent);border-radius:6px;padding:8px 10px;font-size:.95rem}.req{color:var(--red)}.muted{color:var(--text-2);font-size:.8rem}.error{color:var(--red);margin:0}.center-note{display:grid;place-items:center;min-height:60dvh;color:var(--text-2)}.login-wrap{display:grid;place-items:center;min-height:100dvh;padding:16px}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px;padding:16px}.login-card label{display:flex;flex-direction:column;gap:4px;color:var(--text-2);font-size:.85rem}.title-input{font-size:1.15rem;font-weight:700;flex:1;min-width:200px}.steps{display:flex;flex-direction:column;gap:5px}.step-block{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.step-block.step-done{opacity:.55}.step-block.step-done.open{opacity:.75}.step-line{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:42px}.step-title{flex:1;font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-meta{display:flex;align-items:center;gap:6px}.chev{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid var(--text-2);transition:transform .15s;flex:none}.chev.down{transform:rotate(90deg)}.step-body{padding:8px 10px 10px;border-top:1px solid var(--border)}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;min-width:30px;border-radius:50%;background:none;padding:0;font-size:15px;line-height:1;cursor:pointer}.icon-btn.tick-ic{border:1.5px solid var(--green);color:var(--green)}.icon-btn.tick-ic:active{background:var(--green);color:#0b1016}.icon-btn.revert-ic{border:1px solid var(--border);color:var(--text-2);font-size:13px}.done-circle{display:inline-grid;place-items:center;width:24px;height:24px;min-width:24px;border-radius:50%;background:var(--green);color:#0b1016;font-weight:700;font-size:13px}.done-when{font-size:.7rem;white-space:nowrap}.start-form summary{cursor:pointer;color:var(--accent);font-size:.95rem;list-style:none}.start-form summary::-webkit-details-marker{display:none}.start-form[open] summary{margin-bottom:10px}.confirm-field{flex-direction:row;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:10px;cursor:pointer}.confirm-field input[type=checkbox]{width:22px;height:22px;min-width:22px;accent-color:var(--green);margin:0}.confirm-label{font-size:.95rem;color:var(--text)}.group-card summary{cursor:pointer;list-style:none}.group-card summary::-webkit-details-marker{display:none}.group-card[open] summary{margin-bottom:10px}.group-body{border-top:1px solid var(--border);padding-top:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}@media(max-width:600px){.grid2{grid-template-columns:1fr}}.add-loc{background:var(--bg2);border-radius:8px;padding:10px}.timing-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:6px}.timing-table td{padding:4px 6px;border-bottom:1px solid var(--border)}.timing-dur{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.timing-total td{font-weight:700;border-bottom:none}.trail summary{color:var(--text-2);cursor:pointer;font-size:.85rem}.trail ul{list-style:none;margin:6px 0 0;padding:0 0 0 4px;display:flex;flex-direction:column;gap:3px;font-size:.8rem}.trail-revert{color:var(--red)}.step-edit{padding:6px 10px}.step-edit.drag-over{outline:2px dashed var(--accent);outline-offset:-2px}.designer-step-line{display:flex;align-items:center;gap:6px;min-height:38px}.drag-handle{cursor:grab;color:var(--text-2);font-size:18px;padding:2px 4px;-webkit-user-select:none;user-select:none;flex:none}.drag-handle:active{cursor:grabbing;color:var(--text)}.chev-btn{background:none;border:none;padding:6px;display:inline-grid;place-items:center;flex:none}.step-title-edit{flex:1;min-width:120px;font-weight:600;padding:6px 8px}.fieldcount{white-space:nowrap}.step-edit-body{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.device-bar{gap:6px}.device-outer{overflow:hidden;margin:0 auto}.device-frame{background:var(--bg);border:10px solid #000;border-radius:28px;box-shadow:0 0 0 2px var(--border),0 8px 30px #00000080;overflow-y:auto;overflow-x:hidden;transform-origin:top left;padding:12px 10px;display:flex;flex-direction:column;gap:8px}.designer-field{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:1px dashed var(--border);border-radius:9px;padding:8px}@media(max-width:700px){.designer-field{grid-template-columns:1fr}}.designer-preview{background:var(--bg2);border-radius:8px;padding:8px}.attach-list{margin:0;padding-left:18px;font-size:.9rem}.attach-list a{color:var(--accent)}.popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:100;padding:20px}.popup{max-width:360px;width:100%;padding:14px}label.inline{display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:.85rem}
