:root{--bg:#07111f;--panel:#101b2d;--panel-2:#17253a;--line:#30445f;--text:#f8fafc;--muted:#9aabc2;--accent:#67b0ff;--accent-2:#2474e8;--success:#4ade80;--danger:#fb7185;--radius:18px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;overflow:hidden}body{color:var(--text);background:radial-gradient(circle at 12% 0%, #2563eb40, transparent 34%), radial-gradient(circle at 92% 82%, #0ea5e91a, transparent 30%), var(--bg);-webkit-tap-highlight-color:transparent;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button,.button{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.45}.app{width:min(100%,1120px);height:100dvh;padding:max(10px, env(safe-area-inset-top)) 14px max(10px, env(safe-area-inset-bottom));grid-template-rows:auto auto minmax(0,1fr);gap:10px;margin:0 auto;display:grid}.app.workflow-active{grid-template-rows:auto minmax(0,1fr)}.app.workflow-active .tabs{display:none}.topbar{justify-content:space-between;align-items:center;gap:14px;min-height:46px;display:flex}.brand-lockup,.header-actions,.section-heading,.stage-head,.stage-actions,.progress-row,.input-meta,.stats{align-items:center;display:flex}.brand-lockup{gap:12px;min-width:0}.header-actions{gap:8px}h1{letter-spacing:-.055em;margin:0;font-size:clamp(1.55rem,3vw,2rem);line-height:1}h2{letter-spacing:-.025em;margin:3px 0 0;font-size:clamp(1.12rem,2.4vw,1.4rem)}p{margin:0}.offline-badge,.privacy-note{color:#bbf7d0;white-space:nowrap;background:#4ade8014;border:1px solid #4ade8045;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:800}.share-menu{position:relative}.share-menu summary{list-style:none}.share-menu summary::-webkit-details-marker{display:none}.site-qr{z-index:20;border:1px solid var(--line);width:154px;color:var(--muted);letter-spacing:.05em;text-align:center;text-transform:uppercase;background:#101b2d;border-radius:15px;justify-items:center;gap:7px;padding:10px;font-size:.66rem;font-weight:850;line-height:1.2;text-decoration:none;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 55px #00000073}.site-qr img{background:#fff;border-radius:8px;width:132px;height:132px;display:block}.site-qr:focus-visible,button:focus-visible,.button:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible,.file-picker:focus-within{outline:3px solid var(--accent);outline-offset:2px}.eyebrow{color:var(--accent);letter-spacing:.14em;font-size:.68rem;font-weight:900}.tabs,.source-tabs{border:1px solid var(--line);background:#101b2de0;border-radius:14px;gap:6px;padding:5px;display:grid}.tabs{grid-template-columns:repeat(4,1fr)}.source-tabs{grid-template-columns:1fr 1fr}button,.button,summary.ghost{border:1px solid var(--line);min-height:44px;color:var(--text);background:var(--panel-2);text-align:center;cursor:pointer;border-radius:12px;padding:9px 13px;font-weight:800;text-decoration:none}button:active,.button:active,summary.ghost:active{transform:scale(.985)}.tab,.source-tab{min-height:38px;color:var(--muted);background:0 0;border-color:#0000}.tab.active,.source-tab.active{color:var(--text);background:#1e2d43;border-color:#49617f}.primary{background:var(--accent-2);border-color:#4b96ff}.ghost{background:0 0}.compact{white-space:nowrap;min-height:38px!important;padding:7px 10px!important}.full{width:100%}.panel,.source-panel,.help-page{display:none}.panel.active{height:100%;min-height:0;display:block;overflow:hidden}.source-panel.active,.help-page.active{display:block}.card{border:1px solid var(--line);border-radius:var(--radius);background:#101b2df2;height:100%;min-height:0;padding:clamp(14px,2.2vw,22px);box-shadow:0 18px 50px #00000038}.setup-card{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(18px,3vw,34px);display:grid}.setup-source,.setup-actions,.receive-card{flex-direction:column;min-height:0;display:flex}.setup-actions{border-left:1px solid var(--line);justify-content:space-between;padding-left:clamp(18px,3vw,34px)}.section-heading,.stage-head,.progress-row,.input-meta,.stats{justify-content:space-between;gap:10px}.section-heading{margin-bottom:12px}.source-workspace{flex:1;min-height:0;margin:10px 0}.source-panel.active{height:100%}#textSource.active{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.file-picker{text-align:center;cursor:pointer;background:radial-gradient(circle at 50% 40%,#2474e829,#0000 46%),#17253aa3;border:1px dashed #6c85a5;border-radius:15px;align-content:center;place-items:center;height:100%;min-height:118px;padding:18px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:grid}.file-picker.drag-over{border-color:var(--accent);background:radial-gradient(circle at 50% 40%,#2474e857,#0000 54%),#17253aeb;box-shadow:inset 0 0 0 2px #67b0ff2e,0 0 28px #2474e829}.file-picker.drag-over .file-picker-title{color:#dbeafe}.file-picker input{opacity:0;pointer-events:none;position:absolute}.file-picker-title{font-weight:900}.file-picker-title:before{content:"+";color:#dbeafe;background:#2474e859;border-radius:50%;place-items:center;width:34px;height:34px;margin:0 auto 8px;font-size:1.35rem;display:grid}.file-picker-sub{max-width:100%;color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:.82rem}.label{color:#cbd5e1;margin-bottom:6px;font-size:.78rem;font-weight:850;display:block}textarea,select{border:1px solid var(--line);width:100%;color:var(--text);background:#0b1628;border-radius:12px;padding:10px 11px}textarea{resize:none;min-height:0;line-height:1.4}.input-meta,.stats{color:var(--muted);margin-top:6px;font-size:.74rem}.clipboard-button{border-style:dashed}.clipboard-hint{color:var(--muted);text-align:center;margin:6px 2px 0;font-size:.72rem;line-height:1.3}.settings-grid{grid-template-columns:1fr;gap:12px;margin-top:12px;display:grid}.prepare-area{gap:10px;display:grid}.status{color:var(--muted);font-size:.8rem;line-height:1.35}.status.error{color:var(--danger)}.status.success{color:var(--success)}.sender-stage{grid-template-rows:auto minmax(0,1fr) auto auto auto auto;gap:8px;max-width:760px;margin:0 auto;display:grid}.stage-head h2{text-overflow:ellipsis;white-space:nowrap;max-width:min(48vw,420px);overflow:hidden}.qr-wrap{aspect-ratio:1;background:#fff;border-radius:16px;place-self:center;place-items:center;width:min(100%,520px,clamp(180px,100dvh - 330px,520px));padding:clamp(7px,1.5vw,14px);display:grid}#qrCanvas{max-width:100%;max-height:100%;image-rendering:pixelated;display:block}.progress-row>div{gap:1px;min-width:0;display:grid}.progress-row span{color:var(--muted);font-size:.74rem}.progress{background:#081426;border:1px solid #243750;border-radius:999px;height:8px;overflow:hidden}.progress>div{background:linear-gradient(90deg,#2474e8,#45c4ff);width:0;height:100%;transition:width .15s}.controls-grid,.result-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.controls-grid.two{grid-template-columns:1fr 1fr}.sender-stage:fullscreen{width:100vw;max-width:none;height:100vh;padding:max(12px, env(safe-area-inset-top)) 14px max(12px, env(safe-area-inset-bottom));background:#020817;border-radius:0;margin:0}.sender-stage:fullscreen .qr-wrap{width:min(92vw,100vh - 240px,1100px)}.body-copy{color:var(--muted);line-height:1.45}.receive-card{justify-content:center}.receive-intro{width:min(100%,680px);margin:0 auto}.notice{color:#cbd5e1;background:#17253a;border:1px solid #344a66;border-radius:12px;margin:14px 0;padding:11px;font-size:.8rem;line-height:1.35}.notice.good{color:#bbf7d0;border-color:#4ade8059}.notice.bad{color:#fecdd3;border-color:#fb718566}.receive-settings,.receive-controls,.receive-card>.status{width:min(100%,680px);margin-left:auto;margin-right:auto}.receive-settings{margin-bottom:10px}.receive-card>.status{text-align:center;margin-top:10px}.camera-wrap{background:#020617;border:1px solid #49617f;border-radius:16px;flex:1;min-height:0;margin-bottom:10px;position:relative;overflow:hidden}.camera-wrap video{object-fit:cover;width:100%;height:100%}.scan-frame{border:2px solid #67b0fff2;border-radius:15px;position:absolute;inset:10%;box-shadow:0 0 0 999px #0206172e,0 0 28px #67b0ff47}.receive-progress{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#030a17d1;border:1px solid #94a3b847;border-radius:12px;padding:10px 12px;position:absolute;bottom:10px;left:10px;right:10px}.receive-card.is-scanning{justify-content:stretch}.receive-card.is-scanning .receive-intro{display:none}.receive-card.is-scanning .receive-controls{flex:none}.receive-card.is-scanning #resetReceiveBtn{display:none}.receive-card.is-scanning .receive-controls{grid-template-columns:1fr}.result-card{text-align:center;place-content:center;justify-items:center;gap:12px;display:grid}.success-mark{width:58px;height:58px;color:var(--success);background:#4ade8024;border-radius:50%;place-items:center;font-size:1.8rem;font-weight:950;display:grid}pre{color:#cbd5e1;text-align:left;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;background:#020617;border-radius:12px;width:min(100%,620px);max-height:min(38dvh,240px);padding:12px;overflow:auto}.result-actions{width:min(100%,620px)}.help-card{grid-template-rows:minmax(0,1fr) auto;gap:16px;display:grid}.help-page.active{color:#cbd5e1;align-self:center;width:min(100%,680px);margin:0 auto;font-size:clamp(.95rem,2vw,1.08rem);line-height:1.55}.help-page h2{color:var(--text);margin:8px 0 16px;font-size:clamp(1.5rem,4vw,2.5rem)}.help-page li+li{margin-top:10px}.help-page strong{color:var(--text)}.help-controls{grid-template-columns:120px 1fr 120px;align-items:center;gap:10px;display:grid}.help-dots{color:var(--muted);letter-spacing:.28em;text-align:center;font-size:.75rem}.about-card{grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);align-items:center;gap:clamp(24px,6vw,72px);display:grid}.about-copy{max-width:660px}.about-copy h2{margin:9px 0 14px;font-size:clamp(1.8rem,5vw,3.6rem);line-height:1}.about-copy p{color:var(--muted);font-size:clamp(.94rem,1.8vw,1.08rem);line-height:1.55}.about-details{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.about-details span{border:1px solid var(--line);color:#cbd5e1;background:#17253ab8;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:800}.author-card{border:1px solid var(--line);background:linear-gradient(145deg,#2474e82b,#17253ab8);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:210px;padding:22px;display:flex}.author-card h2{margin-top:5px;font-size:clamp(1.6rem,4vw,2.5rem)}.author-links{gap:10px;display:flex}.icon-button{width:50px;height:50px;color:var(--text);background:#08142694;border:1px solid #49617f;border-radius:14px;place-items:center;text-decoration:none;transition:border-color .15s,background-color .15s,transform .15s;display:grid}.icon-button:hover{border-color:var(--accent);color:#dbeafe;background:#2474e847;transform:translateY(-2px)}.icon-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.icon-button svg{stroke-width:2px;width:23px;height:23px}@media (max-width:720px){.app{gap:8px;padding-left:9px;padding-right:9px}.topbar{min-height:40px}.offline-badge{font-size:.62rem}.tabs{padding:4px}.tab{min-height:36px}.card{border-radius:16px;padding:12px}.setup-card{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:10px}.setup-actions{border-top:1px solid var(--line);border-left:0;padding:10px 0 0}.settings-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:7px}.settings-grid .label{margin-bottom:4px}.settings-grid select{padding:8px 7px;font-size:.76rem}.prepare-area{gap:7px;margin-top:9px}.prepare-area .status{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-heading{margin-bottom:8px}.source-workspace{margin:7px 0}.clipboard-hint{margin-top:4px}.file-picker{min-height:100px;padding:12px}.stage-actions{gap:5px}.stage-actions .compact{font-size:.72rem}.sender-stage{gap:6px}.sender-stage>.status{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.receive-progress{padding:8px 9px;bottom:7px;left:7px;right:7px}.receive-settings{margin-bottom:7px}.receive-settings .label{margin-bottom:4px}.receive-settings select{padding:8px 7px;font-size:.76rem}.result-actions{grid-template-columns:1fr}.help-controls{grid-template-columns:92px 1fr 92px}.about-card{grid-template-columns:1fr;align-content:center;gap:18px}.about-copy h2{margin-bottom:10px}.about-details{margin-top:14px}.author-card{flex-direction:row;align-items:center;min-height:126px;padding:14px}.icon-button{width:46px;height:46px}}@media (max-width:390px){.offline-badge{display:none}.share-menu summary{font-size:.75rem}.privacy-note{font-size:.58rem}.stage-head .eyebrow{display:none}.stage-head h2{max-width:36vw;margin:0;font-size:1rem}.controls-grid button{padding-inline:7px;font-size:.76rem}.tab{padding-inline:6px;font-size:.78rem}.author-card{min-height:116px}}@media (max-height:700px){.clipboard-hint,.sender-stage>.status{display:none}.help-page{font-size:.9rem;line-height:1.4}.help-page h2{margin-bottom:10px}.help-page li+li{margin-top:6px}.about-copy h2{font-size:1.7rem}.about-copy p{font-size:.84rem;line-height:1.4}.about-details{margin-top:10px}}@media (max-height:520px) and (orientation:landscape){.app{grid-template-rows:auto minmax(0,1fr);padding-top:6px;padding-bottom:6px}.app.workflow-active{grid-template-rows:minmax(0,1fr)}.topbar{display:none}.tabs{justify-self:center;width:min(100%,520px)}.setup-card{grid-template-rows:1fr;grid-template-columns:1.2fr .8fr}.setup-actions{border-top:0;border-left:1px solid var(--line);padding:0 0 0 12px}.section-heading{margin-bottom:5px}.section-heading .privacy-note{display:none}.source-workspace{margin:5px 0}.file-picker{min-height:70px}.sender-stage{grid-template:"qr head""qr progress""qr bar""qr controls"/minmax(180px,1fr) 260px;max-width:820px}.sender-stage .stage-head{grid-area:head}.sender-stage .qr-wrap{grid-area:qr;width:min(100%,100dvh - 74px)}.sender-stage>.progress-row{grid-area:progress;align-self:end}.sender-stage>.progress{grid-area:bar}.sender-stage>.controls-grid{grid-area:controls}.receive-card>.status{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
