*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0}html,body{height:100%}body{color:#0f172a;background:#f1f5f9;flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex}a{color:inherit;text-decoration:none}.nav{background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding:.75rem 1rem;display:flex}.nav .brand{font-weight:700}.nav nav{flex-wrap:wrap;gap:.25rem;display:flex}.nav nav a{color:#475569;border-radius:999px;padding:.35rem .75rem}.nav nav a:hover{background:#e2e8f0}.nav nav a[aria-current=page]{color:#1e293b;background:#f59e0b;font-weight:600}.page{flex:1;grid-template-columns:minmax(0,1fr);place-items:center;width:100%;min-width:0;display:grid}.calc{color:#f8fafc;background:#1e293b;border-radius:1.5rem;width:min(100%,24rem);padding:1rem;box-shadow:0 20px 50px #0f172a40}.display{flex-direction:column;justify-content:flex-end;align-items:flex-end;min-height:7rem;padding:.75rem 1rem;display:flex;overflow:hidden}.expr{color:#94a3b8;min-height:1.5rem;font-size:1rem}.value{white-space:nowrap;max-width:100%;font-size:clamp(2rem,11vw,3.25rem);font-weight:300;overflow-x:auto}.keys{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}button{aspect-ratio:1;color:inherit;font:inherit;cursor:pointer;background:#334155;border:0;border-radius:50%;font-size:clamp(1.25rem,5vw,1.6rem);transition:filter .1s,transform 50ms}button:hover{filter:brightness(1.15)}button:active{transform:scale(.95)}button:focus-visible{outline-offset:2px;outline:3px solid #38bdf8}.fn{background:#64748b}.op{color:#1e293b;background:#f59e0b;font-weight:600}.op.active{background:#fff}.zero{aspect-ratio:auto;border-radius:999px;grid-column:span 2}@media (max-width:480px){.page{place-items:end center}.calc{border-radius:1.5rem 1.5rem 0 0}}@media (max-height:520px) and (orientation:landscape){.page{place-items:center}.calc{width:min(100%,36rem)}.display{min-height:4rem}button{aspect-ratio:3;border-radius:999px}}.home-shell{gap:1.5rem;width:min(100%,72rem);padding:2rem 1rem 3rem;display:grid}.hero{background:linear-gradient(135deg,#fff7ed 0%,#f8fafc 100%);border:1px solid #fed7aa;border-radius:1.5rem;padding:clamp(1.5rem,3vw,2.5rem);box-shadow:0 10px 30px #0f172a0d}.eyebrow{color:#9a5b00;letter-spacing:.08em;text-transform:uppercase;background:#ffedd5;border-radius:999px;margin-bottom:.75rem;padding:.35rem .7rem;font-size:.72rem;font-weight:700;display:inline-block}.hero h1{letter-spacing:-.04em;margin-bottom:1rem;font-size:clamp(2rem,4vw,3.3rem);line-height:1.1}.hero-copy{color:#475569;max-width:52rem;font-size:1.06rem;line-height:1.7}.hero-cta{margin-top:1.1rem}.hero-cta a{color:#fff;background:#111827;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1rem;font-weight:600;display:inline-flex}.hero-meta{flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;display:flex}.hero-meta span{color:#334155;background:#fff;border:1px solid #fed7aa;border-radius:999px;align-items:center;padding:.45rem .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.menu{align-self:start;width:min(100%,64rem);padding:1.5rem 0 0}.menu-header{margin-bottom:1rem}.menu-header h2{margin-bottom:.35rem;font-size:clamp(1.5rem,2vw,2rem)}.menu-header p{color:#475569;line-height:1.6}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.tool-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:.85rem;padding:.85rem;transition:box-shadow .15s,border-color .15s,transform .15s;display:flex;box-shadow:0 1px 3px #0f172a14}.tool-card:hover{border-color:#f59e0b;transform:translateY(-2px);box-shadow:0 10px 18px #0f172a14}.tool-media{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.9rem;overflow:hidden}.tool-media svg{width:100%;height:auto;display:block}.qr-preview{background:#f8fafc;place-items:center;min-height:200px;display:grid}.qr-preview img{width:180px;max-width:80%;height:auto;image-rendering:pixelated;display:block}.tool-body{flex-direction:column;gap:.25rem;padding:0 .15rem .15rem;display:flex}.tool-body strong{font-size:1.08rem}.tool-body span{color:#64748b;font-size:.9rem;line-height:1.5}.page.top{place-items:start center}.tool{flex-direction:column;gap:.6rem;width:min(100%,32rem);padding:2rem 1rem;display:flex}.tool h1{margin-bottom:.5rem;font-size:1.75rem}.tool label{font-size:.9rem;font-weight:600}.tool input{width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;padding:.8rem 1rem;font-size:1rem}.tool input:focus{border-color:#f59e0b;outline:3px solid #f59e0b55}.tool .error{color:#dc2626;font-size:.9rem}.qr-box{aspect-ratio:1;color:#64748b;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;place-items:center;margin-top:.75rem;padding:1rem;display:grid}.qr-box img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.actions{flex-wrap:wrap;gap:.75rem;display:flex}.btn{font:inherit;color:#1e293b;cursor:pointer;aspect-ratio:auto;background:#f59e0b;border:0;border-radius:999px;padding:.7rem 1.2rem;font-weight:600}.btn.secondary{background:#e2e8f0;font-weight:500}.qr-box{position:relative}.qr-skeleton{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.qr-skeleton p{font-weight:500}.dots:after{content:"";animation:3s steps(4,end) infinite qr-dots}.qr-overlay{background:#fff9;border-radius:1rem;place-items:center;display:grid;position:absolute;inset:0}.spinner{border:4px solid #e2e8f0;border-top-color:#f59e0b;border-radius:50%;width:2.5rem;height:2.5rem;animation:1.6s linear infinite qr-spin}@keyframes qr-dots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}@keyframes qr-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner,.dots:after{animation:none}}.qr-scan{aspect-ratio:1;border-radius:.5rem;width:min(65%,14rem);animation:4s ease-in-out infinite qr-breathe;position:relative;overflow:hidden}.qr-scan .finder{aspect-ratio:1;border:6px solid #cbd5e1;border-radius:6px;width:28%;position:absolute}.qr-scan .finder:after{content:"";background:#cbd5e1;border-radius:2px;position:absolute;inset:22%}.qr-scan .tl{top:0;left:0}.qr-scan .tr{top:0;right:0}.qr-scan .bl{bottom:0;left:0}.qr-scan .core{background:radial-gradient(circle,#cbd5e1 28%,#0000 30%) 0 0/14px 14px;width:60%;height:60%;position:absolute;bottom:0;right:0;-webkit-mask:radial-gradient(circle at 70% 70%,#000 30%,#0000 75%);mask:radial-gradient(circle at 70% 70%,#000 30%,#0000 75%)}.qr-scan .beam{background:#f59e0b;border-radius:3px;height:3px;animation:3.2s ease-in-out infinite qr-beam;position:absolute;top:0;left:-5%;right:-5%;box-shadow:0 0 14px 4px #f59e0b8c}@keyframes qr-beam{0%,to{top:0}50%{top:calc(100% - 3px)}}@keyframes qr-breathe{0%,to{opacity:.7}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.qr-scan,.qr-scan .beam{animation:none}}.page.flow-page{flex-direction:column;align-items:stretch;min-height:0;display:flex}.flow-header{align-self:center;width:100%;max-width:64rem;padding:1.25rem 1rem 0}.flow-header h1{margin-bottom:.5rem;font-size:clamp(1.8rem,3vw,2.6rem)}.flow-header .cmp-sub{margin-bottom:0}.flow-bar{flex-wrap:wrap;align-items:center;gap:.6rem;padding:.75rem 1rem;display:flex}.flow-bar .btn:disabled{opacity:.45;cursor:not-allowed}.flow-hint{color:#64748b;flex-basis:100%;font-size:.85rem}@media (min-width:900px){.flow-hint{flex-basis:auto;margin-left:auto}}.flow-wrap{background:#fff;border-top:1px solid #e2e8f0;flex:1;min-height:22rem;overflow:auto}.flow-canvas{-webkit-user-select:none;user-select:none;background-image:radial-gradient(#cbd5e1 1px,#0000 1px);background-size:24px 24px;position:relative}.flow-svg{position:absolute;inset:0}.flow-hit{cursor:pointer}.flow-node{color:#f8fafc;cursor:grab;touch-action:none;background:#1e293b;border:2px solid #1e293b;border-radius:12px;place-items:center;padding:.4rem .6rem;display:grid;position:absolute;box-shadow:0 6px 16px #0f172a33}.flow-node:active{cursor:grabbing}.flow-node.selected{border-color:#f59e0b}.flow-node textarea{resize:none;width:100%;height:100%;color:inherit;font:inherit;text-align:center;cursor:text;touch-action:auto;background:0 0;border:0;outline:0;padding:.4rem 0}.flow-handle{cursor:crosshair;touch-action:none;background:#f59e0b;border:3px solid #fff;border-radius:50%;width:20px;height:20px;margin-top:-10px;position:absolute;top:50%;right:-11px}.flow-handle:after{content:"";position:absolute;inset:-10px}.flow-node.selected{border-color:inherit;outline-offset:2px;outline:3px solid #f59e0b}.flow-handle{background:#fff;border-color:#f59e0b}.flow-props{border-left:2px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:.5rem;padding-left:.5rem;display:flex}.flow-props>span{color:#64748b;font-size:.85rem}.flow-props input[type=text]{font:inherit;min-width:12rem;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.55rem .8rem;font-size:.9rem}.flow-props .check{cursor:pointer;align-items:center;gap:.35rem;font-size:.9rem;display:flex}.swatch{cursor:pointer;aspect-ratio:1;border:2px solid #fff;border-radius:50%;width:1.6rem;height:1.6rem;padding:0;box-shadow:0 0 0 1px #cbd5e1}.swatch.on{box-shadow:0 0 0 3px #f59e0b}.flow-label{color:#334155;text-align:center;cursor:pointer;touch-action:none;overflow-wrap:anywhere;background:#fff;border:1px solid #cbd5e1;border-radius:.6rem;max-width:9rem;padding:.2rem .55rem;font-size:.8rem;position:absolute;transform:translate(-50%,-50%)}.flow-label.selected{border-color:#f59e0b}.flow-modal{z-index:50;background:#0f172a80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.flow-dialog{background:#fff;border-radius:1rem;flex-direction:column;gap:.75rem;width:min(100%,26rem);padding:1.5rem;display:flex;box-shadow:0 20px 50px #0f172a59}.flow-dialog h2{font-size:1.2rem}.flow-dialog p{color:#475569}.flow-dialog .actions{flex-direction:column}.flow-dialog .btn{width:100%}.btn.mini{padding:.4rem .8rem;font-size:.8rem}.btn.mini:disabled{opacity:.45;cursor:not-allowed}.flow-label{cursor:grab}.flow-label:active{cursor:grabbing}.flow-node{padding:0 10px}.flow-node textarea{white-space:pre-wrap;overflow-wrap:break-word;width:100%;height:auto;padding:0;font-size:16px;line-height:20px;display:block;overflow:hidden}.flow-label{white-space:normal;padding:3px 9px;font-size:12.8px;line-height:16px}.flow-node textarea{pointer-events:none;cursor:inherit}.flow-node.editing textarea{pointer-events:auto;cursor:text}.flow-node.decision{box-shadow:none;border:0}.flow-node.decision.selected{outline:none}.flow-shape{pointer-events:none;filter:drop-shadow(0 6px 8px #0f172a40);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.flow-node textarea{z-index:1;color:#f8fafc;position:relative}.flow-hit.move{cursor:move}.flow-end{fill:#fff;stroke:#f59e0b;stroke-width:3px;cursor:grab;touch-action:none}.flow-hit{touch-action:none}.flow-props select{font:inherit;color:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.5rem .8rem;font-size:.9rem}.cmp{flex-direction:column;gap:1rem;width:min(100%,52rem);padding:2rem 1rem 3rem;display:flex}.cmp h1{font-size:1.75rem}.cmp-sub{color:#64748b;margin-top:-.5rem}.cmp-drop{text-align:center;cursor:pointer;background:#fff;border:2px dashed #cbd5e1;border-radius:1rem;flex-direction:column;align-items:center;gap:.3rem;padding:2.5rem 1rem;transition:border-color .15s,background .15s;display:flex}.cmp-drop:hover,.cmp-drop:focus-visible{border-color:#f59e0b;outline:none}.cmp-drop.over{background:#fffbeb;border-color:#f59e0b}.cmp-drop span{color:#475569}.cmp-drop small{color:#94a3b8}.cmp-notes{color:#b91c1c;background:#fef2f2;border-radius:.75rem;gap:.25rem;padding:.75rem 1rem;font-size:.9rem;list-style:none;display:grid}.cmp-opts{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.cmp-opts label{flex-direction:column;gap:.35rem;min-width:10rem;font-size:.9rem;font-weight:600;display:flex}.cmp-opts label.off{opacity:.5}.cmp-opts select{font:inherit;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;padding:.6rem .8rem}.cmp-opts input[type=range]{accent-color:#f59e0b;width:100%;padding:.5rem 0}.cmp-hint{color:#64748b;font-size:.85rem}.cmp-bar{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;display:flex}.cmp-bar>div:first-child{flex:1;min-width:14rem}.cmp-status{align-items:center;gap:.5rem;display:inline-flex}.cmp-progress{background:#e2e8f0;border-radius:99px;height:6px;margin-top:.5rem;overflow:hidden}.cmp-progress i{background:#f59e0b;height:100%;transition:width .3s;display:block}.btn:disabled{opacity:.5;cursor:not-allowed}.cmp-list{gap:.6rem;padding:0;list-style:none;display:grid}.cmp-item{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;align-items:center;gap:.9rem;padding:.7rem;display:flex}.cmp-thumb{background:#e2e8f0;border-radius:.6rem;flex:none;width:4rem;height:4rem;position:relative;overflow:hidden}.cmp-thumb img{object-fit:cover;width:100%;height:100%;display:block}.cmp-cover{background:#ffffffb3;place-items:center;display:grid;position:absolute;inset:0}.cmp-info{color:#475569;flex-direction:column;flex:1;gap:.15rem;min-width:0;font-size:.9rem;display:flex}.cmp-info strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cmp-info small{color:#94a3b8}.cmp-info .good{color:#16a34a}.cmp-info .warn{color:#d97706}.cmp-info .bad{color:#dc2626}.cmp-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.cmp-spin{border:3px solid #e2e8f0;border-top-color:#f59e0b;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite qr-spin;display:inline-block}.cmp-spin.big{width:1.6rem;height:1.6rem}@media (max-width:560px){.cmp-item{flex-wrap:wrap}.cmp-actions{justify-content:flex-start;width:100%}}@media (prefers-reduced-motion:reduce){.cmp-spin{animation-duration:2s}}.cmp-field{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.cmp-formats{flex-wrap:wrap;gap:.4rem;display:flex}.chip{aspect-ratio:auto;color:#334155;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.5rem .9rem;font-size:.9rem;font-weight:600}.chip.on{color:#1e293b;background:#f59e0b;border-color:#f59e0b}.chip:disabled{opacity:.4;cursor:not-allowed}.cmp-totals{flex-direction:column;align-items:flex-start;gap:.15rem}.cmp-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.cmp-row .btn{margin-left:auto}.cmpf{flex-direction:column;gap:1rem;width:min(100%,78rem);padding:2rem 1rem 3rem;display:flex}.cmpf h1{font-size:1.75rem}.cmpf-panes{grid-template-columns:1fr auto 1fr;align-items:start;gap:.5rem;display:grid}.cmpf-swap{margin-top:3rem}.cmpf-pane{background:#fff;border:2px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:.5rem;min-width:0;padding:.75rem;transition:border-color .15s,background .15s;display:flex}.cmpf-pane.over{background:#fffbeb;border-color:#f59e0b}.cmpf-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cmpf-name{color:#64748b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.cmpf-pane textarea{resize:vertical;color:#0f172a;white-space:pre;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;width:100%;min-height:14rem;padding:.75rem;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.cmpf-pane textarea:focus{border-color:#f59e0b;outline:3px solid #f59e0b55}.cmpf-error{color:#b91c1c;background:#fef2f2;border-radius:.75rem;padding:.6rem .9rem;font-size:.9rem}.cmpf-opts{flex-wrap:wrap;align-items:center;gap:.6rem 1.25rem;display:flex}.cmpf-opts .check{cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:flex}.cmpf-view{gap:.4rem;margin-left:auto;display:flex}.cmpf-empty{color:#64748b;text-align:center;padding:2rem 0}.cmpf-result{flex-direction:column;gap:.75rem;display:flex}.cmpf-summary{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.cmpf-summary .plus{color:#16a34a}.cmpf-summary .minus{color:#dc2626}.cmpf-summary .same{color:#16a34a}.cmpf-summary small{color:#94a3b8}.cmpf-nav{gap:.4rem;margin-left:auto;display:flex}.diff{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.drow{align-items:stretch;display:grid}.drow.split{grid-template-columns:3rem minmax(0,1fr) 3.2rem 3rem minmax(0,1fr)}.drow.uni{grid-template-columns:3rem 3rem 1.5rem minmax(0,1fr) 3.4rem}.drow.dhead{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.75rem;padding:.4rem 0;font:600 .8rem system-ui,sans-serif}.dno{text-align:right;color:#94a3b8;-webkit-user-select:none;user-select:none;background:#f8fafc;padding:0 .4rem}.dsign{text-align:center;-webkit-user-select:none;user-select:none}.dtxt{white-space:pre-wrap;overflow-wrap:anywhere;padding:0 .6rem}.dno.del,.dsign.del,.dtxt.del{background:#fee2e2}.dno.add,.dsign.add,.dtxt.add{background:#dcfce7}.dno.none,.dtxt.none{background:#f1f5f9}.dtxt.del{color:#7f1d1d}.dtxt.add{color:#14532d}.dtxt mark.del{color:inherit;background:#fca5a5;border-radius:2px}.dtxt mark.add{color:inherit;background:#86efac;border-radius:2px}.drow.cur{box-shadow:inset 4px 0 #f59e0b}.drow.gap{color:#475569;cursor:pointer;aspect-ratio:auto;background:#f1f5f9;border:0;border-radius:0;width:100%;padding:.4rem;font:.8rem system-ui,sans-serif;display:block}.drow.gap:hover{background:#e2e8f0}@media (max-width:900px){.cmpf-panes{grid-template-columns:1fr}.cmpf-swap{justify-self:start;margin-top:0}.cmpf-view{margin-left:0}}.cmpf-file{text-align:center;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:14rem;padding:1.5rem 1rem;font-size:.9rem;display:flex}.cmpf-file img{object-fit:contain;border-radius:.5rem;max-width:100%;max-height:10rem}.cmpf-file strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.cmpf-file small{color:#94a3b8}.cmpf-ico{color:#64748b;background:#e2e8f0;border-radius:.6rem;place-items:center;width:4rem;height:4.5rem;font-size:.8rem;font-weight:700;display:grid}.cmpf-facts{color:#475569;gap:.3rem;padding:0;font-size:.9rem;list-style:none;display:grid}.cmpf-facts code{color:#94a3b8;overflow-wrap:anywhere;font-size:.75rem;display:block}.cmpf-note{color:#64748b;font-size:.85rem}.imgdiff{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.imgdiff figure{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;align-items:center;gap:.4rem;margin:0;padding:.6rem;display:flex}.imgdiff figcaption{color:#475569;font-size:.8rem;font-weight:600}.imgdiff img,.imgdiff canvas{border-radius:.5rem;max-width:100%;height:auto}.imgdiff-note{color:#475569;grid-column:1/-1;font-size:.9rem}.imgdiff-note .same{color:#16a34a}.imgdiff-note .minus{color:#dc2626}.hhead,.hrow{grid-template-columns:5rem minmax(0,1.9fr) minmax(0,.8fr) minmax(0,1.9fr) minmax(0,.8fr);gap:.5rem;display:grid}.hhead{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.75rem;padding:.4rem .6rem;font:600 .75rem system-ui,sans-serif}.diff.hex{padding:.25rem 0}.hrow{white-space:nowrap;padding:0 .6rem}.hoff{color:#94a3b8}.hbytes,.hasc{display:flex}.hbytes span{text-align:center;flex:1}.hasc span{text-align:center;color:#64748b;flex:1}.hd{background:#fca5a5;border-radius:2px;color:#7f1d1d!important}.hgap{text-align:center;color:#94a3b8;background:#f8fafc}@media (max-width:900px){.imgdiff{grid-template-columns:1fr}.diff.hex{font-size:10px}.hhead,.hrow{grid-template-columns:4rem repeat(4,minmax(0,auto));gap:.3rem}}.dmid{background:#f8fafc;justify-content:center;align-items:stretch;gap:1px;display:flex}.dmid button{aspect-ratio:auto;color:#475569;cursor:pointer;background:0 0;border:0;border-radius:0;flex:1;padding:0;font-size:.8rem;line-height:1}.dmid button:hover{color:#1e293b;background:#f59e0b}.dblock{color:#92400e;background:#fffbeb;border-top:1px solid #fde68a;border-bottom:1px solid #fde68a;align-items:center;gap:.4rem;padding:.25rem .6rem;font:600 .75rem system-ui,sans-serif;display:flex}.dblock span{margin-right:auto}.cmpf-summary .btn.mini:not(.secondary){margin-right:.25rem}.dact{background:#f8fafc;gap:2px;padding:1px 2px;display:flex}.dact button,.dmid button{aspect-ratio:auto;color:#b45309;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;flex:1;padding:0;font-size:.95rem;font-weight:700;line-height:1}.dmid{gap:2px;padding:1px 2px}.dact button:hover,.dmid button:hover{color:#1e293b;background:#f59e0b;border-color:#f59e0b}.conv-tabs{flex-wrap:wrap;margin-left:0}.conv-body{flex-direction:column;gap:1rem;padding-top:.5rem;display:flex}.conv-file{color:#475569;font-size:.9rem}.conv-status{color:#475569;align-items:center;gap:.5rem;display:flex}.conv-input{font:inherit;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;padding:.6rem .8rem}.conv-result{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.conv-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;width:100%;height:36rem}.conv-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border-radius:.75rem;width:100%;max-height:18rem;padding:.75rem;font:13px/1.5 ui-monospace,Menlo,monospace;overflow:auto}.conv-body .check{cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:flex}.pdfe{flex-direction:column;gap:1rem;width:min(100%,78rem);padding:2rem 1rem 3rem;display:flex}.pdfe h1{font-size:1.75rem}.pdfe-bar{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .8rem;display:flex}.pdfe-bar.sel{background:#fffbeb;border-color:#fde68a}.pdfe-bar select,.pdfe-fields input,.pdfe-fields select{font:inherit;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.6rem;padding:.45rem .7rem;font-size:.9rem}.pdfe-spacer{flex:1}.pdfe-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.8rem;padding:0;list-style:none;display:grid}.pdfe-card{cursor:grab;background:#fff;border:2px solid #e2e8f0;border-radius:.9rem;flex-direction:column;gap:.4rem;padding:.5rem;display:flex}.pdfe-card.on{border-color:#f59e0b}.pdfe-card.drag{opacity:.4}.pdfe-check{color:#475569;cursor:pointer;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:flex}.pdfe-thumb{color:#94a3b8;background:#f1f5f9;border-radius:.5rem;place-items:center;width:100%;max-height:12rem;font-size:.8rem;display:grid;position:relative;overflow:hidden}.pdfe-thumb img{object-fit:contain;width:100%;height:100%;display:block}.pdfe-thumb em{color:#1e293b;background:#f59e0b;border-radius:999px;padding:.05rem .4rem;font-size:.65rem;font-style:normal;font-weight:700;position:absolute;top:.3rem;right:.3rem}.pdfe-actions{grid-template-columns:repeat(6,1fr);gap:2px;display:grid}.pdfe-actions button{aspect-ratio:auto;color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.25rem 0;font-size:.85rem;line-height:1}.pdfe-actions button:hover:not(:disabled){color:#1e293b;background:#f59e0b;border-color:#f59e0b}.pdfe-actions button:disabled{opacity:.35;cursor:not-allowed}.pdfe-edit{width:100%}.pdfe-opts{gap:.5rem;display:grid}.pdfe-opts details{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:.7rem 1rem}.pdfe-opts summary{cursor:pointer;font-weight:600}.pdfe-opts .check{cursor:pointer;align-items:center;gap:.4rem;margin-top:.6rem;font-size:.9rem;display:flex}.pdfe-fields{flex-wrap:wrap;gap:.6rem 1rem;margin-top:.6rem;display:flex}.pdfe-fields label{flex-direction:column;gap:.25rem;min-width:8rem;font-size:.8rem;font-weight:600;display:flex}.pdfe-opts small{color:#64748b;margin-top:.5rem;display:block}.pe-modal{align-items:start;padding:.5rem;overflow:auto}.pe-panel{background:#fff;border-radius:1rem;flex-direction:column;gap:.6rem;width:min(100%,60rem);margin:0 auto;padding:.8rem;display:flex}.pe-bar{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;display:flex}.pe-tools{flex-wrap:wrap;gap:.3rem;display:flex}.pe-props{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.pe-props label{align-items:center;gap:.3rem;display:flex}.pe-props input[type=number],.pe-props select{width:4.5rem;font:inherit;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.3rem .4rem}.pe-props select{width:auto}.pe-props input[type=color]{background:0 0;border:1px solid #cbd5e1;border-radius:.4rem;width:2rem;height:1.8rem;padding:0}.pe-actions{gap:.4rem;margin-left:auto;display:flex}.pe-textinput{width:100%;font:inherit;resize:vertical;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.6rem;padding:.5rem .7rem}.pe-scroll{background:#e2e8f0;border-radius:.75rem;justify-content:center;width:100%;padding:.5rem;display:flex;overflow:auto}.pe-stage{touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;flex:none;position:relative;box-shadow:0 4px 16px #0f172a40}.pe-canvas{width:100%;height:100%;display:block}.pe-blank{background:#fff;width:100%;height:100%}.pe-item{cursor:move;position:absolute}.pe-item.on{outline-offset:2px;outline:2px dashed #f59e0b}.pe-item img{pointer-events:none;width:100%;height:100%;display:block}.pe-handle{cursor:nwse-resize;touch-action:none;background:#f59e0b;border:2px solid #fff;border-radius:3px;width:14px;height:14px;position:absolute;bottom:-7px;right:-7px}.pe-draft{pointer-events:none;background:#f59e0b26;border:2px dashed #f59e0b;position:absolute}.pe-sticky{z-index:20;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:.5rem;padding:.6rem .8rem;display:flex;position:sticky;top:0;box-shadow:0 4px 12px #0f172a1f}.pe-zoom{align-items:center;gap:.3rem;margin-left:auto;font-size:.85rem;display:flex}.pe-zoom select{font:inherit;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.3rem .4rem}.pe-doc{background:#cbd5e1;border-radius:1rem;flex-direction:column;align-items:center;gap:1.2rem;min-height:20rem;padding:1rem .75rem;display:flex;overflow-x:auto}.pe-pagebox{flex-direction:column;gap:.35rem;max-width:100%;display:flex}.pe-pagehead{color:#334155;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;display:flex}.pe-pagebtns{gap:2px;display:flex}.pe-pagebtns button{aspect-ratio:auto;color:#334155;cursor:pointer;background:#fff;border:1px solid #94a3b8;border-radius:6px;width:1.8rem;padding:.15rem 0;font-size:.9rem;line-height:1}.pe-pagebtns button:hover{background:#f59e0b;border-color:#f59e0b}.pe-note{color:#64748b;font-size:.8rem}.pe-textitem{cursor:text;border-radius:2px;outline:1px dotted #f59e0bb3;position:absolute}.pe-textitem:hover{background:#f59e0b40;outline:1px dashed #f59e0b}.pe-textedit{z-index:5;color:#111827;field-sizing:content;box-sizing:border-box;background:#fff;border:1px solid #f59e0b;border-radius:2px;outline:2px solid #f59e0b59;margin:0;padding:0 2px;line-height:1.2;position:absolute}.pe-orig{cursor:pointer;border-radius:2px;position:absolute}.pe-orig:hover{background:#f59e0b33;outline:1px dashed #f59e0b}.pe-orig.on{background:#f59e0b40;outline:2px solid #f59e0b}.pcard{flex-direction:column;gap:1rem;width:min(100%,80rem);min-width:0;padding:1.25rem .75rem 3rem;display:flex}.pcard h1{font-size:1.5rem}.pcard-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.pcard-grid>*{min-width:0}.pcard-preview{background:#cbd5e1;border-radius:1rem;flex-direction:column;order:-1;align-items:center;gap:.75rem;padding:.75rem;display:flex;position:static}.pcard-preview canvas{cursor:pointer;touch-action:none;background:#fff;max-width:100%;height:auto;display:block;box-shadow:0 6px 20px #0f172a4d}.pcard-preview .cmpf-note{text-align:center;line-height:1.5}.pcard-controls{flex-direction:column;gap:1rem;display:flex}.pcard-controls details{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:1.1rem;padding:1rem;display:flex}.pcard-controls summary{cursor:pointer;font-size:1rem;font-weight:600}.pcard-controls details[open]>summary{margin-bottom:.2rem}.pcard-controls label{color:#334155;flex-direction:column;gap:.3rem;min-width:0;font-size:.8rem;font-weight:600;display:flex}.pcard-controls label.check{cursor:pointer;flex-direction:row;align-items:center;gap:.5rem;font-size:.9rem;font-weight:400}.pcard-controls label.check input{width:1.1rem;height:1.1rem}.pcard-controls input[type=text],.pcard-controls input[type=number],.pcard-controls select{width:100%;min-width:0;font:inherit;color:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.6rem;padding:.5rem .75rem;font-size:.9rem;font-weight:400}.pcard-controls input[type=color]{background:0 0;border:1px solid #cbd5e1;border-radius:.4rem;width:3rem;height:2.1rem;padding:0}.pcard-controls input[type=range]{accent-color:#f59e0b;width:100%;margin:0}.pcard-controls .cmp-drop{gap:.35rem;margin:.1rem 0;padding:1.25rem .75rem}.pcard-controls .cmpf-note,.pcard-controls .cmpf-error{margin:0}.pcard-controls .btn{align-self:flex-start}.pcard-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.pcard-row>label{flex:9rem}.pcard-row>.btn{flex:none}.pcard-chips{flex-wrap:wrap;gap:.5rem;display:flex}.pcard-caps{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.75rem;display:grid}.pcard-stepper{align-items:center;gap:.75rem;display:inline-flex}.pcard-stepper button{aspect-ratio:auto;color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:50%;width:2.4rem;height:2.4rem;font-size:1.25rem;line-height:1}.pcard-stepper button:disabled{opacity:.4;cursor:not-allowed}.pcard-stepper b{text-align:center;min-width:2rem;font-size:1.1rem}.pcard-sel{background:#fff;border-radius:.8rem;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;width:100%;padding:.75rem 1rem;font-size:.85rem;display:flex}.pcard-sel label{flex:10rem;align-items:center;gap:.6rem;min-width:0;display:flex}.pcard-sel input[type=range]{accent-color:#f59e0b;flex:1;min-width:5rem}@media (min-width:960px){.pcard{padding:2rem 1rem 3rem}.pcard h1{font-size:1.75rem}.pcard-grid{grid-template-columns:minmax(20rem,27rem) minmax(0,1fr);gap:1.75rem}.pcard-preview{order:0;padding:1.25rem;position:sticky;top:1rem}.pcard-controls details{padding:1.1rem 1.25rem}}.nav{z-index:80;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex;position:relative}.nav .nav-top{z-index:3;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:2.5rem;display:flex;position:relative}.nav .brand-wrap{align-items:baseline;gap:.6rem;min-width:0;display:flex}.nav .brand{white-space:nowrap;font-size:1.1rem;font-weight:700}.nav .here{color:#64748b;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:.9rem;font-weight:600;overflow:hidden}.nav .nav-right{justify-content:flex-end;align-items:center;gap:.75rem;min-width:0;margin-left:auto;display:flex}.nav .nav-toggle{z-index:4;aspect-ratio:auto;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.7rem;flex:none;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;margin-left:auto;padding:0;display:inline-flex;position:relative}.nav .nav-toggle:hover{background:#f1f5f9}.nav .nav-toggle:focus-visible{outline-offset:2px;outline:3px solid #f59e0b}.nav-toggle .bars,.nav-toggle .bars:before,.nav-toggle .bars:after{background:#334155;border-radius:2px;width:1.2rem;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-toggle .bars{position:relative}.nav-toggle .bars:before,.nav-toggle .bars:after{content:"";position:absolute;left:0}.nav-toggle .bars:before{top:-6px}.nav-toggle .bars:after{top:6px}.nav-toggle.open .bars{background:0 0}.nav-toggle.open .bars:before{top:0;transform:rotate(45deg)}.nav-toggle.open .bars:after{top:0;transform:rotate(-45deg)}.nav .nav-links{z-index:2;overscroll-behavior:contain;background:#fff;border:1px solid #e2e8f0;border-top:0;border-radius:0 0 1rem 1rem;flex-direction:column;gap:.2rem;width:min(100%,20rem);max-height:calc(100dvh - 4rem);padding:.5rem;display:none;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 16px 28px #0f172a38}.nav .nav-links.open{display:flex}.nav .nav-links a{text-align:right;color:#475569;border-radius:.7rem;padding:.7rem .9rem;font-size:1rem;display:block}.nav .nav-links a:hover{background:#f1f5f9}.nav .nav-links a[aria-current=page]{color:#1e293b;background:#f59e0b;font-weight:600}.nav-backdrop{z-index:1;background:#0f172a4d;position:fixed;inset:0}@media (max-width:560px){.nav{padding:.5rem .75rem}.nav .nav-links{border-radius:0;width:auto;left:0}}@media (max-width:380px){.nav .here{display:none}}@media (prefers-reduced-motion:reduce){.nav-toggle .bars,.nav-toggle .bars:before,.nav-toggle .bars:after{transition:none}}.flow-zone{box-sizing:border-box;cursor:move;touch-action:none;border-width:2px;border-radius:12px;position:absolute}.flow-zone.selected{box-shadow:0 0 0 3px #f59e0b73}.zone-hit{pointer-events:auto;cursor:move;touch-action:none;position:absolute}.zone-hit.t{height:18px;top:-9px;left:0;right:0}.zone-hit.b{height:18px;bottom:-9px;left:0;right:0}.zone-hit.l{width:18px;top:0;bottom:0;left:-9px}.zone-hit.r{width:18px;top:0;bottom:0;right:-9px}.zone-label{z-index:1;white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;cursor:move;touch-action:none;background:#fff;border:1px solid;border-radius:999px;max-width:calc(100% - 28px);padding:.12rem .6rem;font:600 .8rem system-ui,sans-serif;position:absolute;top:-13px;left:14px;overflow:hidden}.zone-resize{z-index:2;cursor:nwse-resize;pointer-events:auto;touch-action:none;background:#f59e0b;border:2px solid #fff;border-radius:5px;width:18px;height:18px;position:absolute;bottom:-10px;right:-10px}.flow-svg{pointer-events:none}.flow-svg .flow-hit{pointer-events:stroke}.flow-svg .flow-end{pointer-events:all}
