:root{color:#20312a;font-synthesis:none;letter-spacing:0;--canvas:#f7f9f8;--surface:#fff;--ink:#20312a;--muted:#66736d;--line:#dce4e0;--primary:#1f8a63;--primary-strong:#166748;--receive:#e97b66;--accent:#f2c95c;--danger:#c64d47;--green:var(--primary);--green-dark:var(--primary-strong);--green-soft:#e7f3ed;--yellow:var(--accent);--yellow-soft:#fbf3d8;--red:var(--danger);--red-soft:#f9e8e6;--focus:var(--primary);background:#f7f9f8;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}body.has-dialog{overflow:hidden}button,input,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button,a,input,textarea,summary{transition:color .18s,background-color .18s,border-color .18s,box-shadow .18s}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 34%, transparent);outline-offset:2px}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-size:2rem;line-height:1.2}h2{font-size:1.05rem}.app-shell{min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f9f8f5;position:sticky;top:0}.app-shell:has(.optical-transfer-view)>.topbar{position:static}.topbar-inner{align-items:center;gap:16px;max-width:1180px;height:68px;margin:0 auto;padding:0 24px;display:flex}.brand{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.brand-mark{width:36px;height:36px;color:var(--yellow);background:#173d31;border-radius:8px;flex:none;place-items:center;display:inline-grid}.brand-title,.brand small{display:block}.brand-title{margin:0;font-size:1.05rem;line-height:1.2}.brand small{color:var(--muted);margin-top:1px;font-size:.7rem}.connection-status{color:var(--green-dark);align-items:center;gap:6px;margin-left:auto;font-size:.8rem;display:flex}.pwa-actions{align-items:center;gap:4px;display:flex}.pwa-actions .icon-button{border:1px solid var(--line);background:var(--surface)}.offline-ready{color:var(--green-dark);font-size:.72rem}.account-button,.back-button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:6px;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.account-button:hover,.back-button:hover,.secondary-button:hover{background:#f9faf9;border-color:#aeb8b2}.app-main{width:min(1180px,100% - 48px);margin:0 auto;padding:40px 0 72px}.back-button{background:0 0;margin-bottom:24px}.mobile-nav{display:none}.eyebrow{color:var(--green);margin-bottom:9px;font-size:.77rem;font-weight:700}.supporting-copy{max-width:570px;color:var(--muted);margin-bottom:28px;line-height:1.65}.step-indicator{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 28px;padding:0;list-style:none;display:grid}.step-indicator li{min-width:0;color:var(--muted);align-items:center;gap:9px;font-size:.78rem;display:flex;position:relative}.step-indicator li:not(:last-child):after{content:"";background:var(--line);height:1px;position:absolute;top:14px;left:36px;right:12px}.step-indicator li>span{z-index:1;border:1px solid var(--line);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.step-indicator strong{overflow-wrap:anywhere;min-width:0}.step-indicator .is-current,.step-indicator .is-complete{color:var(--primary-strong)}.step-indicator .is-current>span,.step-indicator .is-complete>span{border-color:var(--primary);background:var(--green-soft)}.status-notice{border-radius:6px;align-items:flex-start;gap:9px;min-height:46px;margin-top:16px;padding:12px 14px;font-size:.8rem;line-height:1.5;display:flex}.status-notice svg{flex:none;margin-top:1px}.status-info{color:var(--ink);background:#edf3f0}.status-warning{background:var(--yellow-soft);color:#5e4b1a}.status-error{background:var(--red-soft);color:#852d29}.status-success{background:var(--green-soft);color:var(--primary-strong)}.bottom-action-bar{justify-content:flex-end;align-items:center;gap:10px;display:flex}.home-view{gap:28px;display:grid}.home-intro{max-width:640px}.home-intro h1{margin-bottom:10px}.home-intro .supporting-copy{margin:0}.entry-grid{grid-template-columns:2fr 1fr;gap:16px;display:grid}.entry-action{border:1px solid var(--line);background:var(--surface);min-height:178px;color:var(--ink);text-align:left;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:28px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid}.entry-action:hover,.entry-action.is-dragging{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 10px 26px #14302514}.entry-icon{border-radius:8px;place-items:center;width:54px;height:54px;display:grid}.send-action .entry-icon{background:var(--green-soft);color:var(--green-dark)}.receive-action .entry-icon{color:#9d493a;background:#fdebe7}.entry-action strong,.entry-action small{display:block}.entry-action strong{margin-bottom:7px;font-size:1.4rem}.entry-action small{color:var(--muted);font-size:.86rem}.entry-arrow{color:#87918c;font-size:1.6rem}.mobile-entry-copy{display:none!important}.trust-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:-4px 0 0;padding:16px 0;list-style:none;display:grid}.trust-list li{align-items:center;gap:10px;min-width:0;padding:0 20px;display:flex}.trust-list li:first-child{padding-left:0}.trust-list li+li{border-left:1px solid var(--line)}.trust-list svg{color:var(--primary);flex:none}.trust-list strong,.trust-list small{display:block}.trust-list strong{font-size:.8rem}.trust-list small{color:var(--muted);margin-top:2px;font-size:.7rem}.resume-list{border-bottom:1px solid var(--line)}.resume-heading{padding:14px 0}.resume-row{border-top:1px solid var(--line);align-items:center;gap:5px;min-height:70px;display:flex}.resume-action{min-width:0;min-height:68px;color:var(--ink);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:9px 8px 9px 0;display:flex}.resume-action:hover{color:var(--primary-strong)}.resume-action>span{flex:1;min-width:0}.resume-list strong,.resume-list small{display:block}.resume-list small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:.72rem}.home-content{gap:48px;margin-top:30px;display:grid}.home-content-section{border-top:1px solid var(--line);padding-top:22px}.home-content-section h2{margin-bottom:18px;font-size:1.12rem}.home-content-section h3{margin:0;font-size:.9rem}.home-content-section p{color:var(--muted);margin:7px 0 0;font-size:.83rem;line-height:1.65}.plan-entry{border-top:1px solid var(--line);align-items:center;gap:9px;min-height:48px;padding-top:14px;display:flex;margin-top:16px!important}.plan-entry svg{color:var(--primary);flex:none}.scenario-list,.workflow-list,.content-type-list,.privacy-list,.plan-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.scenario-list,.content-type-list,.plan-list{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-list li,.content-type-list li,.plan-list li{min-width:0;padding:0 20px}.scenario-list li:first-child,.content-type-list li:first-child,.plan-list li:first-child{padding-left:0}.scenario-list li+li,.content-type-list li+li,.plan-list li+li{border-left:1px solid var(--line)}.workflow-list{counter-reset:workflow}.workflow-list li{border-top:1px solid var(--line);min-height:82px;padding:14px 0 14px 48px;position:relative}.workflow-list li:last-child{border-bottom:1px solid var(--line)}.workflow-list li:before{counter-increment:workflow;content:counter(workflow);background:var(--green-soft);width:27px;height:27px;color:var(--green-dark);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid;position:absolute;top:15px;left:0}.privacy-list{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr}.privacy-list li{min-width:0;min-height:116px;padding:18px 20px}.privacy-list li:first-child{padding-left:0}.privacy-list li+li{border-left:1px solid var(--line)}.plan-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.plan-list li{padding-top:16px;padding-bottom:16px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{min-height:54px;color:var(--ink);cursor:pointer;align-items:center;padding:10px 28px 10px 0;font-size:.88rem;font-weight:700;list-style:none;display:flex;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--green);font-size:1.2rem;font-weight:400;position:absolute;right:6px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{padding:0 28px 16px 0}.static-home-actions{color:var(--muted);font-size:.78rem}.static-home-actions .primary-button{text-decoration:none}.scenario-cta{justify-items:start;gap:12px;display:grid}.flow-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:56px;display:grid}.flow-main{min-width:0}.flow-aside{border-left:1px solid var(--line);padding-left:32px;position:sticky;top:108px}.summary-block{border-bottom:1px solid var(--line);padding-bottom:16px}.summary-block span,.summary-block strong,.summary-block small{display:block}.summary-block span,.summary-block small,.summary-row span{color:var(--muted);font-size:.72rem}.summary-block strong{margin:6px 0 3px;font-size:1.05rem}.summary-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:48px;font-size:.78rem;display:flex}.inline-actions{flex-wrap:wrap;margin:8px -8px -6px;display:flex}.inline-actions .text-button{min-height:36px;padding:0 8px;font-size:.75rem}.segmented{border:1px solid var(--line);background:#e9edea;border-radius:7px;width:fit-content;margin:24px 0;padding:3px;display:flex}.segmented button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:0 16px;display:inline-flex}.segmented button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0a1e141f}.field-block label,.code-entry label{margin-bottom:9px;font-size:.84rem;font-weight:700;display:block}textarea,.code-entry input,.login-fields input{background:var(--surface);width:100%;color:var(--ink);border:1px solid #bac4be;border-radius:7px}textarea{resize:vertical;min-height:240px;padding:16px;line-height:1.65}textarea:hover,input:hover{border-color:#8e9a93}.field-meta{color:var(--muted);justify-content:space-between;margin-top:7px;font-size:.74rem;display:flex}.limit-error{color:var(--red);font-weight:700}.file-picker{max-width:700px}.file-picker-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.file-picker-action{min-height:180px;color:var(--green-dark);cursor:pointer;background:#fafbfa;border:1px dashed #9caaa2;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:relative;overflow:hidden}.file-picker-action:hover,.file-picker-action:focus-within{border-color:var(--green);background:var(--green-soft)}.file-picker-action:focus-within{outline:2px solid var(--green);outline-offset:2px}.file-picker-action strong{color:var(--ink)}.file-picker-action span,.file-picker-limit{color:var(--muted);font-size:.78rem}.file-picker-action input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-picker-limit{text-align:center;margin:9px 0 0}.file-list,.manifest-list{border-top:1px solid var(--line);margin:14px 0 0;padding:0;list-style:none}.file-list li,.manifest-list li{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:58px;display:flex}.file-list li>span{flex:1;min-width:0}.file-list strong,.file-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.file-list small{color:var(--muted);margin-top:3px;font-size:.72rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon-button{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:inline-grid}.icon-button:hover{color:var(--ink);background:#edf0ee}.link-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:700px;margin:24px 0;padding:0;display:grid}.link-options legend{margin-bottom:10px;font-size:.78rem;font-weight:700}.link-options label{border:1px solid var(--line);cursor:pointer;border-radius:7px;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;min-height:68px;padding:12px;display:grid}.link-options label:has(input:checked){border-color:var(--green);background:var(--green-soft)}.link-options strong,.link-options small{display:block}.link-options strong{font-size:.82rem}.link-options small{color:var(--muted);margin-top:3px;font-size:.69rem}.security-options{border:0;border-top:1px solid var(--line);margin:18px 0 0;padding:16px 0 0}.security-options legend{margin-bottom:10px;padding:0;font-size:.78rem;font-weight:700}.security-options>label{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:9px;min-height:58px;padding:10px 8px;display:grid}.security-options>label:has(input:checked){color:var(--green-dark);background:#eef6f1}.security-options strong,.security-options small{display:block}.security-options strong{font-size:.8rem}.security-options small{color:var(--muted);margin-top:4px;font-size:.68rem;line-height:1.45}.nested-field{border-bottom:1px solid var(--line);padding:12px 8px}.nested-field>label{margin-bottom:7px;font-size:.74rem;font-weight:700;display:block}.nested-field>input,.password-entry input{background:var(--surface);border:1px solid #bac4be;border-radius:6px;width:100%;min-height:44px;padding:0 11px}.success-text{color:var(--green)!important}.primary-button,.secondary-button,.danger-button,.text-button{border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:700;display:inline-flex}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff}.primary-button:hover:not(:disabled){background:var(--green-dark);border-color:var(--green-dark)}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.danger-button{background:var(--red-soft);color:#8d2e2a;border:1px solid #e3b2ae}.danger-button:hover{border-color:var(--red)}.text-button{color:var(--green);background:0 0;border:0}.full-button{width:100%;margin-top:18px}.inline-warning,.inline-error{border-radius:6px;margin-top:16px;padding:12px 14px;font-size:.78rem;line-height:1.45}.inline-warning{background:var(--yellow-soft);color:#5e4b1a;gap:9px;display:flex}.inline-error{background:var(--red-soft);color:#852d29}.privacy-warning{background:var(--yellow-soft);color:#5e4b1a;border-left:3px solid #b48917;margin:16px 0;padding:12px 14px;font-size:.78rem;line-height:1.55}.pairing-view{align-items:center}.pairing-qr{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:300px;min-height:300px;padding:10px;display:grid}.pairing-qr canvas{width:280px;height:280px;display:block}.pairing-copy{margin-top:14px}.backup-code{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:7px;padding:20px}.backup-code span,.backup-code strong,.backup-code small{display:block}.backup-code span,.backup-code small{color:var(--muted);font-size:.72rem}.backup-code strong{font-variant-numeric:tabular-nums;margin:9px 0;font-size:2rem}.security-note{background:var(--green-soft);color:var(--green-dark);gap:10px;margin-top:14px;padding:14px;display:flex}.security-note p{margin:0}.security-note strong,.security-note span{display:block}.security-note strong{font-size:.78rem}.security-note span{color:#476b5d;margin-top:4px;font-size:.7rem;line-height:1.45}.optical-estimate{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:14px;padding:16px 0}.optical-estimate span,.optical-estimate strong,.optical-estimate small{display:block}.optical-estimate span,.optical-estimate small{color:var(--muted);font-size:.72rem}.optical-estimate strong{margin:5px 0;font-size:1.2rem}.receive-entry,.confirm-receive{width:min(600px,100%);margin:0 auto}.code-entry{margin-top:36px}.code-entry input{text-align:center;font-variant-numeric:tabular-nums;height:72px;padding:0 20px;font-size:2rem;font-weight:700}.scanner-area{aspect-ratio:4/3;border:1px solid var(--line);background:#1b2420;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.scanner-area video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.scanner-area video.camera-active{opacity:1}.scanner-actions{z-index:2;justify-content:center;gap:8px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.camera-placeholder{z-index:1;color:#d8dedb;text-align:center;flex-direction:column;align-items:center;gap:12px;font-size:.8rem;display:flex;position:absolute;top:25%;left:16px;right:16px;transform:translateY(-50%)}.privacy-line{color:var(--muted);text-align:center;margin-top:20px;font-size:.75rem}.camera-capture{gap:10px;display:grid}.camera-capture-preview{color:#d7dfda;background:#17201c;border-radius:7px;place-items:center;min-height:150px;display:grid;position:relative;overflow:hidden}.camera-capture-preview video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.camera-capture-preview video.camera-active{opacity:1}.camera-capture-compact .camera-capture-preview{min-height:110px}.two-way-pairing{justify-items:center;display:grid}.source-line,.manifest-total{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:58px;display:flex}.source-line span,.manifest-total span{color:var(--muted);font-size:.78rem}.safety-code{background:var(--yellow-soft);color:#654f16;align-items:center;gap:12px;margin:20px 0;padding:16px;display:flex}.safety-code small,.safety-code strong{display:block}.safety-code strong{font-variant-numeric:tabular-nums;margin-top:3px;font-size:1.35rem}.manifest-list li{justify-content:space-between;font-size:.82rem}.loading-state{min-height:180px;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}.spinner{border:2px solid #c8d1cc;border-top-color:var(--green);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.transfer-progress{width:min(760px,100%);margin:28px auto 0}.progress-heading{justify-content:space-between;align-items:end;display:flex}.progress-heading h1{margin-bottom:0}.progress-number{color:var(--green-dark);font-variant-numeric:tabular-nums;font-size:2.4rem}.progress-track{background:#dfe5e1;border-radius:5px;height:10px;margin:28px 0;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green);height:100%;transition:width .25s;display:block}.transfer-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0;padding:24px 0;display:grid}.transfer-stats div{text-align:center}.transfer-stats div+div{border-left:1px solid var(--line)}.transfer-stats dt{color:var(--muted);font-size:.72rem}.transfer-stats dd{font-variant-numeric:tabular-nums;margin:7px 0 0;font-weight:700}.action-row{justify-content:center;gap:10px;margin-top:24px;display:flex}.receive-runtime-error{width:min(760px,100%);margin-left:auto;margin-right:auto}.optical-receiver-camera{aspect-ratio:4/3;color:#d7dfda;background:#17201c;border-radius:8px;place-items:center;width:min(520px,100%);margin:20px auto 0;display:grid;position:relative;overflow:hidden}.optical-receiver-camera video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.optical-receiver-camera video.camera-active{opacity:1}.optical-entry-area{gap:12px;display:grid}.optical-entry-ready{width:min(680px,100%)}.optical-ready-camera{aspect-ratio:4/3;color:#d7dfda;background:#17201c;border-radius:8px;place-items:center;width:min(520px,100%);margin:18px auto 0;display:grid;position:relative;overflow:hidden}.optical-ready-camera video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.optical-ready-camera video.camera-active{opacity:1}.camera-status-line{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:.74rem}.optical-receive-view{width:min(760px,100%);padding-bottom:env(safe-area-inset-bottom);margin:0 auto}.optical-receive-view .optical-transfer-heading{align-items:flex-start}.optical-transfer-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.optical-transfer-view{width:min(980px,100%);margin:0 auto}.optical-entry-view{width:min(900px,100%);margin:0 auto}.optical-entry-layout{grid-template-columns:320px minmax(0,1fr);align-items:center;gap:42px;display:grid}.optical-entry-guide ol{counter-reset:optical-entry;margin:0;padding:0;list-style:none}.optical-entry-guide li{border-bottom:1px solid var(--line);min-height:64px;padding:11px 0 11px 42px;position:relative}.optical-entry-guide li:before{counter-increment:optical-entry;content:counter(optical-entry);background:var(--green-soft);width:26px;height:26px;color:var(--green-dark);border-radius:50%;place-items:center;font-size:.74rem;font-weight:700;display:grid;position:absolute;top:11px;left:0}.optical-entry-guide strong,.optical-entry-guide span{display:block}.optical-entry-guide strong{font-size:.84rem}.optical-entry-guide span{color:var(--muted);margin-top:4px;font-size:.74rem;line-height:1.45}.action-stack{gap:8px;margin-top:18px;display:grid}.optical-transfer-heading{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.optical-transfer-heading h1{margin-bottom:0}.optical-transfer-heading>strong{color:var(--green-dark);font-variant-numeric:tabular-nums;font-size:1.8rem}.optical-player{width:100%}.optical-canvas-grid{background:#fff;justify-content:center;align-items:center;gap:12px;width:100%;min-height:300px;padding:12px;display:grid}.optical-grid-1{grid-template-columns:minmax(0,620px)}.optical-grid-2,.optical-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.optical-canvas-grid canvas{aspect-ratio:1;width:100%;height:auto;image-rendering:pixelated;display:block}.optical-controls{border-bottom:1px solid var(--line);align-items:center;gap:9px;min-height:58px;padding:10px 0;display:flex}.optical-controls>span{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.74rem}.optical-status-line{color:var(--muted);text-align:center;margin:14px 0 0;font-size:.76rem}.optical-fountain-player{width:100%}.optical-fountain-surface{aspect-ratio:1;background:#fff;place-items:center;width:min(100%,760px);margin:0 auto;display:grid;overflow:hidden}.optical-fountain-surface canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.optical-fountain-surface:fullscreen{width:100vw;height:100vh;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:#fff}.optical-fountain-surface:fullscreen canvas{width:min(100vw,100vh);height:min(100vw,100vh)}.completion-view{width:min(720px,100%);margin:0 auto}.completion-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0 0;padding:0;display:grid}.completion-stats div{text-align:center;min-width:0;padding:18px 12px}.completion-stats div+div{border-left:1px solid var(--line)}.completion-stats dt{color:var(--muted);font-size:.72rem}.completion-stats dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:6px 0 0;font-weight:700}.completion-list li{flex-direction:column;align-items:stretch}.completion-item-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.completion-item-heading>span:first-child{flex:1;min-width:0}.completion-list strong,.completion-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.completion-list small{color:var(--muted);margin-top:3px;font-size:.72rem}.item-actions{flex:none;gap:3px;display:flex}.received-preview-loading,.received-preview-error{background:var(--surface-muted);color:var(--muted);border-radius:6px;margin-top:12px;padding:11px 12px;font-size:.76rem}.received-preview-error{background:var(--yellow-soft);color:#5e4b1a;justify-content:space-between;align-items:center;gap:12px;display:flex}.received-text-preview{border:1px solid var(--line);background:var(--surface-muted);max-height:220px;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;border-radius:6px;margin:12px 0 0;padding:14px;font-size:.84rem;line-height:1.65;overflow:auto}.received-image-preview{object-fit:contain;background:var(--surface-muted);border-radius:6px;width:min(360px,100%);max-height:300px;margin:12px auto 0;display:block}.completion-action-error{flex-wrap:wrap;align-items:center}.completion-action-error .secondary-button{background:#ffffffb8;margin-left:auto}.dialog-backdrop{z-index:100;background:#0f191475;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog-panel{background:var(--surface);border-radius:8px;width:min(440px,100%);padding:22px;box-shadow:0 24px 70px #0a19123d}.dialog-heading{justify-content:space-between;align-items:center;display:flex}.dialog-heading h2{margin:0}.dialog-panel>p{color:var(--muted);margin:18px 0;font-size:.86rem;line-height:1.6}.dialog-actions{justify-content:flex-end;gap:9px;display:flex}.account-gate-backdrop{z-index:80;background:#0f191466;justify-content:flex-end;display:flex;position:fixed;inset:0}.account-gate{background:var(--surface);width:min(620px,100%);height:100%;padding:26px 30px;overflow-y:auto;box-shadow:-20px 0 60px #0a19122e}.account-gate-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;padding-bottom:18px;display:flex}.account-gate-heading h2{margin:0;font-size:1.15rem}.account-view{gap:24px;width:min(820px,100%);margin:0 auto;display:grid}.account-signed-out{width:min(520px,100%)}.account-heading h1{margin-bottom:0}.account-mode{width:100%}.account-mode button{flex:1}.account-form{grid-template-columns:1fr;gap:8px;display:grid}.account-form label,.redeem-form label{color:var(--muted);margin-top:7px;font-size:.74rem;font-weight:700}.account-form input,.redeem-form input{background:var(--surface);border:1px solid #bac4be;border-radius:6px;width:100%;min-width:0;min-height:44px;padding:0 12px}.password-field{position:relative}.password-field input{padding-right:50px}.password-field .icon-button{width:40px;height:40px;position:absolute;top:2px;right:2px}.account-form input[aria-invalid=true]{border-color:var(--red)}.field-error{color:var(--red);margin:-2px 0 2px;font-size:.72rem}.account-feedback{overflow-wrap:anywhere;margin:0;font-size:.78rem}.account-recovery,.activation-recovery{justify-items:start;gap:10px;display:grid}.account-summary,.entitlement-summary,.usage-summary,.redeem-section,.invite-section,.contact-section{border-top:1px solid var(--line);padding:20px 0}.account-summary{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;display:flex}.account-summary>div,.entitlement-summary>div,.section-heading{align-items:center;gap:12px;min-width:0;display:flex}.account-summary span,.entitlement-summary span,.section-heading span{min-width:0}.account-summary small,.account-summary strong,.entitlement-summary small,.entitlement-summary strong{overflow-wrap:anywhere;display:block}.account-summary small,.entitlement-summary small,.section-heading small{color:var(--muted);font-size:.72rem}.account-summary strong,.entitlement-summary strong{margin-top:3px}.entitlement-summary{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.section-heading h2{margin:0;font-size:1rem}.section-heading small{margin-top:3px;display:block}.redeem-section{gap:14px;display:grid}.redeem-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.redeem-form label{grid-column:1/-1}.redeem-form input{text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem}.contact-section{justify-content:space-between;align-items:center;gap:24px;display:flex}.contact-section h2{margin:0;font-size:1rem}.contact-section p{color:var(--muted);margin:5px 0 0;font-size:.76rem}.contact-qr-button{border:1px solid var(--line);background:#fff;border-radius:6px;flex:none;width:152px;height:152px;padding:0;overflow:hidden}.contact-qr-button:hover{border-color:var(--primary)}.contact-qr-button img{object-fit:contain;width:100%;height:100%;display:block}.contact-qr-enlarged{aspect-ratio:1;object-fit:contain;width:min(360px,100%);margin:18px auto 0;display:block}.contact-fallback{border:1px dashed var(--line);text-align:center;overflow-wrap:anywhere;place-items:center;width:min(240px,100%);min-height:80px;padding:14px;display:grid}.usage-summary{border-bottom:1px solid var(--line);gap:14px;display:grid}.usage-summary>div{align-items:center;gap:12px;min-width:0;display:flex}.usage-summary span{min-width:0}.usage-summary small,.usage-summary strong{overflow-wrap:anywhere;display:block}.usage-summary small{color:var(--muted);font-size:.72rem}.usage-summary strong{margin-top:3px}.purchase-entry{justify-items:start;gap:8px;display:grid}.purchase-entry p{color:var(--muted);margin:0;font-size:.76rem}.invite-section{gap:12px;display:grid}.invite-link-row{justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.invite-link-row code{overflow-wrap:anywhere;border:1px solid var(--line);background:var(--surface);border-radius:6px;min-width:0;padding:9px 11px;font-size:.78rem}.invite-actions{flex-wrap:wrap;gap:8px;display:flex}.invite-rules{color:var(--muted);margin:0;font-size:.76rem;line-height:1.6}.browser-guide{text-align:center;place-content:center;justify-items:center;min-height:100vh;padding:24px;display:grid}.browser-guide .brand-mark{margin-bottom:20px}.browser-guide p{color:var(--muted)}.rotate-send{transform:rotate(180deg)}@media (width<=760px){.topbar{position:static}.topbar-inner{height:60px;padding:0 16px}.brand small,.connection-status span,.account-button span{display:none}.account-button{justify-content:center;width:44px;min-height:44px;padding:0}.app-main{width:calc(100% - 32px);padding:24px 0 calc(44px + env(safe-area-inset-bottom))}.back-button{margin-bottom:18px}.entry-grid{grid-template-columns:1fr}.receive-action{grid-row:1}.entry-action{gap:14px;min-height:126px;padding:20px}.entry-icon{width:48px;height:48px}.entry-action strong{font-size:1.18rem}.desktop-entry-copy{display:none!important}.mobile-entry-copy{display:block!important}.trust-list{grid-template-columns:1fr;padding:0}.trust-list li{min-height:58px;padding:10px 0}.trust-list li+li{border-left:0;border-top:1px solid var(--line)}.home-content{gap:38px;margin-top:18px}.scenario-list,.content-type-list,.plan-list,.privacy-list{grid-template-columns:1fr}.scenario-list li,.content-type-list li,.plan-list li,.privacy-list li{min-height:0;padding:15px 0}.scenario-list li+li,.content-type-list li+li,.plan-list li+li,.privacy-list li+li{border-left:0;border-top:1px solid var(--line)}.flow-layout{grid-template-columns:1fr;gap:28px}.flow-aside{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;position:static}.link-options{grid-template-columns:1fr}textarea{min-height:180px}.file-picker-actions{grid-template-columns:1fr}.file-picker-action{min-height:112px}.pairing-qr{width:min(100%,300px);margin:0 auto}.segmented{width:100%}.segmented button{flex:1;min-height:44px;padding:0 10px}h1{font-size:1.65rem}.transfer-stats{grid-template-columns:1fr;padding:0}.transfer-stats div{padding:15px}.transfer-stats div+div{border-left:0;border-top:1px solid var(--line)}.completion-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-stats div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.completion-stats div:nth-child(4){border-top:1px solid var(--line)}.progress-number{font-size:1.8rem}.action-row{flex-direction:column;align-items:stretch}.optical-canvas-grid{gap:7px;min-height:260px;padding:7px}.optical-controls{flex-wrap:wrap;align-items:stretch}.optical-controls>span{text-align:center;width:100%;margin-left:0}.optical-fountain-surface{width:100%}.optical-entry-layout{grid-template-columns:1fr;gap:24px}.optical-entry-layout .pairing-qr{margin:0 auto}.optical-receive-view{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.account-summary,.contact-section{flex-direction:column;align-items:stretch}.account-summary>button{width:100%}.entitlement-summary{grid-template-columns:1fr}.entitlement-summary>button{width:100%}.redeem-form{grid-template-columns:1fr}.redeem-form label{grid-column:1}.invite-link-row{flex-direction:column;align-items:stretch}.invite-actions button{flex:1}.contact-qr-button,.contact-fallback{aspect-ratio:1;align-self:center;width:min(100%,240px);height:auto}.scanner-actions{flex-direction:column;align-items:stretch}.bottom-action-bar{z-index:15;margin:24px -16px calc(-44px - env(safe-area-inset-bottom));padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff7;position:sticky;bottom:0;box-shadow:0 -8px 24px #14302514}.dialog-actions{flex-direction:column-reverse}.account-gate{width:100%;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
