.ipt{--ipt-radius:10px;max-width:940px;color:var(--text);font-family:var(--font-inter),ui-sans-serif,system-ui,sans-serif;margin-inline:auto;padding:clamp(28px,5vw,56px) clamp(18px,4vw,32px) 96px}.ipt-head{margin-bottom:28px}.ipt-title{font-family:var(--font-fraunces),Georgia,serif;letter-spacing:-.015em;margin:0 0 12px;font-size:clamp(30px,4vw,44px);font-weight:480;line-height:1.05}.ipt-lede{color:var(--text-2);max-width:60ch;margin:0 0 18px;font-size:16px;line-height:1.55}.ipt-privacy{color:var(--ink-3);align-items:center;gap:8px;font-size:12.5px;line-height:1.4;display:inline-flex}.ipt-privacy svg{width:15px;height:15px;color:var(--ink-3);flex-shrink:0}.ipt-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:11px 18px;font-family:inherit;font-size:14px;font-weight:540;line-height:1;transition:background .2s,border-color .2s,color .2s,opacity .2s;display:inline-flex}.ipt-btn:disabled{opacity:.45;cursor:not-allowed}.ipt-btn svg{width:16px;height:16px}.ipt-btn-sm{padding:8px 13px;font-size:13px}.ipt-btn-primary{background:var(--ink);color:var(--paper)}.ipt-btn-primary:not(:disabled):hover{background:color-mix(in srgb,var(--ink)88%,#000 12%)}.ipt-btn-outline{background:var(--white);color:var(--ink);border-color:var(--line-2)}.ipt-btn-outline:not(:disabled):hover{border-color:var(--ink-3)}.ipt-btn-ghost{color:var(--ink-2);background:0 0}.ipt-btn-ghost:not(:disabled):hover{background:var(--paper-2)}.ipt-btn-danger{background:var(--red);color:#fff}.ipt-btn-danger:not(:disabled):hover{background:color-mix(in srgb,var(--red)88%,#000 12%)}.ipt-iconbtn{width:28px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;transition:background .18s,color .18s;display:inline-flex}.ipt-iconbtn:hover{background:var(--paper-2);color:var(--ink)}.ipt-iconbtn svg{width:15px;height:15px}.ipt-dropzone{border:1.5px dashed var(--line-2);border-radius:var(--ipt-radius);background:var(--paper);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;margin-bottom:20px;padding:44px 24px;transition:border-color .18s,background .18s;display:flex;position:relative}.ipt-dropzone:hover{border-color:var(--ink);background:var(--paper-2)}.ipt-dropzone.is-drag{border-color:var(--ink);background:var(--gold-soft);border-style:solid}.ipt-dropzone.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.ipt-dropzone.is-disabled:hover{border-color:var(--line-2);background:var(--paper)}.ipt-dropzone input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.ipt-dropzone input:focus-visible{outline:2px solid color-mix(in srgb,var(--ink)40%,transparent);outline-offset:2px;border-radius:var(--ipt-radius)}.ipt-dropzone-ic{background:var(--gold-soft);width:46px;height:46px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ipt-dropzone-ic svg{width:22px;height:22px}.ipt-dropzone-title{color:var(--text);font-size:15px;font-weight:600}.ipt-dropzone-hint{color:var(--text-2);font-size:12.5px}.ipt-tabs{background:var(--paper-2);border:1px solid var(--line);border-radius:999px;gap:4px;margin:0 0 20px;padding:4px;display:flex}.ipt-tab{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:540;transition:background .18s,color .18s;display:inline-flex}.ipt-tab svg{width:16px;height:16px}.ipt-tab:hover{color:var(--ink)}.ipt-tab.is-active{background:var(--ink);color:var(--paper)}.ipt-files{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.ipt-file{border:1px solid var(--line);border-radius:var(--ipt-radius);background:var(--white);align-items:center;gap:12px;padding:12px 14px;display:flex}.ipt-file.is-locked{background:color-mix(in srgb,var(--amber)6%,var(--white));border-color:color-mix(in srgb,var(--amber)30%,var(--line))}.ipt-file.is-error{background:color-mix(in srgb,var(--red)6%,var(--white));border-color:color-mix(in srgb,var(--red)30%,var(--line))}.ipt-file-ic{background:var(--gold-soft);width:34px;height:34px;color:var(--ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ipt-file-ic svg{width:17px;height:17px}.ipt-file-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ipt-file-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:540;overflow:hidden}.ipt-file-meta{font-family:var(--font-mono),ui-monospace,monospace;color:var(--ink-3);font-size:11.5px}.ipt-file-actions{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:inline-flex}.ipt-rotate-badge{background:var(--gold-soft);color:var(--ink);font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin:0 4px;padding:2px 7px;font-size:9px;font-weight:600}.ipt-file-unlock{border:1px solid var(--line-2);background:var(--white);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 13px;font-size:13px;font-weight:540;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.ipt-file-unlock:hover{border-color:var(--ink-3)}.ipt-options{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--ipt-radius);flex-direction:column;gap:16px;margin-bottom:24px;padding:18px;display:flex}.ipt-field{flex-direction:column;gap:6px;display:flex}.ipt-label{color:var(--text);font-size:13px;font-weight:540}.ipt-range{width:100%;accent-color:var(--ink);cursor:pointer}.ipt-estimate{font-family:var(--font-mono),ui-monospace,monospace;font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:11.5px}.ipt-estimate.ipt-estimate-warn{font-family:var(--font-inter),ui-sans-serif,system-ui,sans-serif;color:var(--amber);font-size:13px;line-height:1.5}.ipt-warn{color:var(--amber);margin:2px 0 0;font-size:12.5px;line-height:1.5}.ipt-input-row{align-items:center;gap:10px;display:flex}.ipt-input{border:1px solid var(--line-2);width:100%;font:inherit;background:var(--white);color:var(--text);border-radius:9px;padding:9px 12px;font-size:14px}.ipt-input:focus-visible{outline:2px solid color-mix(in srgb,var(--ink)40%,transparent);outline-offset:1px;border-color:var(--ink)}.ipt-hint{color:var(--text-2);font-size:12.5px}.ipt-pwprompt{background:color-mix(in srgb,var(--amber)7%,var(--white));border:1px solid color-mix(in srgb,var(--amber)32%,var(--line));border-radius:var(--ipt-radius);flex-direction:column;gap:10px;margin-bottom:24px;padding:16px 18px;display:flex}.ipt-pwprompt-head{color:var(--text);align-items:center;gap:9px;font-size:14px;display:flex}.ipt-pwprompt-head svg{width:17px;height:17px;color:var(--amber);flex-shrink:0}.ipt-pwprompt-row{gap:10px;display:flex}.ipt-pwprompt-row .ipt-input{flex:1}.ipt-picker{margin-bottom:24px}.ipt-picker-loading{text-align:center;color:var(--text-2);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--ipt-radius);margin-bottom:24px;padding:28px 18px;font-size:14px}.ipt-picker-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ipt-picker-count{color:var(--text);font-size:13px;font-weight:540}.ipt-picker-actions{gap:6px;display:inline-flex}.ipt-thumbs{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.ipt-thumb{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:8px;width:100%;padding:0;transition:border-color .15s,box-shadow .15s;display:block;position:relative;overflow:hidden}.ipt-thumb:hover{border-color:var(--ink-3)}.ipt-thumb.is-selected{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}.ipt-thumb img{aspect-ratio:1/1.414;object-fit:contain;background:var(--paper-2);width:100%;height:auto;display:block}.ipt-thumb-num{font-family:var(--font-mono),ui-monospace,monospace;font-variant-numeric:tabular-nums;color:var(--text-2);text-align:center;padding:4px 0;font-size:11px;display:block}.ipt-thumb.is-selected .ipt-thumb-num{color:var(--ink);font-weight:600}.ipt-thumb-tick{background:var(--ink);width:22px;height:22px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:6px;right:6px}.ipt-thumb-tick svg{width:14px;height:14px}.ipt-progress{margin-bottom:24px}.ipt-progress-head{color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:13.5px;display:flex}.ipt-progress-track{background:var(--line);border-radius:999px;width:100%;height:8px;overflow:hidden}.ipt-progress-fill{background:var(--ink);border-radius:999px;height:100%;transition:width .25s}.ipt-result{background:color-mix(in srgb,var(--ink)5%,var(--white));border:1px solid color-mix(in srgb,var(--ink)25%,var(--line));border-radius:var(--ipt-radius);margin-top:32px;margin-bottom:24px;padding:20px}.ipt-result-title{font-family:var(--font-fraunces),Georgia,serif;color:var(--text);align-items:center;gap:9px;margin:0 0 14px;font-size:18px;font-weight:500;display:flex}.ipt-result-title svg{width:20px;height:20px;color:var(--ink);flex-shrink:0}.ipt-parts{flex-direction:column;gap:8px;display:flex}.ipt-part{border:1px solid var(--line);background:var(--white);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.ipt-part-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:540;overflow:hidden}.ipt-part-size{font-family:var(--font-mono),ui-monospace,monospace;font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:11.5px}.ipt-summary{color:var(--text-2);flex-direction:column;gap:6px;margin:16px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.ipt-summary li{padding-left:18px;line-height:1.5;position:relative}.ipt-summary li:before{content:"";background:var(--ink);border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:2px}.ipt-error-banner{background:color-mix(in srgb,var(--amber)8%,var(--white));border:1px solid color-mix(in srgb,var(--amber)35%,var(--line));border-radius:var(--ipt-radius);color:var(--text-2);align-items:center;gap:10px;margin-bottom:16px;padding:11px 14px;font-size:13.5px;display:flex}.ipt-error-banner svg{width:18px;height:18px;color:var(--amber);flex-shrink:0}.ipt-actions{justify-content:center;gap:12px;margin-top:36px;display:flex}.ipt-overlay{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14241c73;position:fixed;inset:0}.ipt-overlay[data-state=open]{animation:.18s ipt-fade}.ipt-dialog{z-index:61;background:var(--white);border:1px solid var(--line);border-radius:16px;width:calc(100vw - 32px);max-width:440px;max-height:calc(100vh - 48px);padding:26px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 60px #14241c38}.ipt-dialog[data-state=open]{animation:.18s ipt-pop}.ipt-dialog-title{font-family:var(--font-fraunces),Georgia,serif;margin:0 0 18px;font-size:21px;font-weight:520}.ipt-dialog-body{color:var(--text-2);margin:0 0 22px;font-size:14.5px;line-height:1.55}.ipt-dialog-close{width:32px;height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:16px;right:16px}.ipt-dialog-close:hover{background:var(--paper-2);color:var(--ink)}.ipt-dialog-close svg{width:18px;height:18px}.ipt-form{flex-direction:column;gap:16px;display:flex}.ipt-form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.ipt-error{color:var(--red);margin:0;font-size:12.5px}@keyframes ipt-fade{0%{opacity:0}to{opacity:1}}@keyframes ipt-pop{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.ipt-overlay[data-state=open],.ipt-dialog[data-state=open]{animation:none}}@media screen and (max-width:600px){.ipt-input{font-size:16px}.ipt-actions .ipt-btn{flex:1}.ipt-file-actions{flex-wrap:wrap;justify-content:flex-end}.ipt-tabs{width:100%}.ipt-tab{flex:1}}
