:root{color-scheme:light;--bg:#edf1f7;--white:#fff;--ink:#15213a;--muted:#68768e;--blue:#345ce6;--light:#e5ebfc;--navy:#14243f;--font:VRCastTC,'Noto Sans TC','Microsoft JhengHei',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}input:focus,select:focus{outline:2px solid var(--blue);outline-offset:2px}[hidden]{display:none!important}.wrap{width:min(1220px,calc(100% - 88px));margin:auto}.skip{position:fixed;top:10px;left:10px;z-index:50;transform:translateY(-200%);background:var(--blue);color:white;padding:15px}.skip:focus{transform:none}.nav{display:flex;align-items:center;justify-content:space-between;gap:25px;height:95px}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:900;letter-spacing:-.5px}.brand img{display:block;border-radius:6px}.brand small{display:block;font-size:7px;letter-spacing:1.4px;margin-top:4px;font-weight:600;color:var(--muted)}.nav nav{display:flex;gap:28px;font-size:12px;font-weight:700}.nav nav a{padding:10px 0}.nav nav a:hover{color:var(--blue)}.hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:39px 0 43px}.eyebrow{font:700 9px Consolas,monospace;letter-spacing:1.7px;color:var(--blue);margin:0 0 20px}.title-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}h1{font:800 clamp(56px,7.2vw,92px)/1.05 'Segoe UI',Arial,sans-serif;letter-spacing:-5px;margin:0}h1>span{color:var(--blue)}.beta{font-size:10px;color:#2c4fb8;background:#dae3fc;border-radius:5px;padding:8px 11px;font-weight:700}.lead{font-size:19px;font-weight:600;line-height:1.8;margin:19px 0 0;letter-spacing:.3px}.hero-mark{display:flex;align-items:center;gap:18px;padding:20px 24px;background:#e0e7f5;border-radius:8px;transform:rotate(-4deg)}.hero-mark span{font:700 10px Consolas,monospace;letter-spacing:1px}.hero-mark b{display:grid;place-items:center;width:72px;height:72px;background:var(--blue);border-radius:11px;color:white;font-size:50px;line-height:1}.channel-panel{background:var(--white);padding:27px 30px;border-radius:10px;margin-bottom:22px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:23px}.section-top>div{display:flex;align-items:center;gap:16px}.step{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;background:var(--light);color:var(--blue);font:700 11px Consolas,monospace;border-radius:5px}.section-top h2{font-size:18px;font-weight:800;margin:0;line-height:1.6;letter-spacing:-.5px}.server-state{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px;white-space:nowrap}.server-state:before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#9ba6b8}.server-state[data-online=true]:before{background:#4d8d70}.channels{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.channels button{display:grid;gap:8px;justify-items:start;background:var(--bg);color:var(--ink);padding:15px;border-radius:6px;transition:background .15s,transform .15s}.channels button:hover:not(:disabled){transform:translateY(-3px);background:#dce5fa}.channels strong{font:700 24px Consolas,monospace}.channels button>span{font-size:9px;color:var(--muted)}.channels button.occupied>span{color:#367b59}.channels button[aria-pressed=true]{background:var(--blue);color:white;box-shadow:0 5px 14px #345ce62b}.channels button[aria-pressed=true]>span{color:#e2eaff}.channels button:disabled{opacity:1;cursor:default}.helper{font-size:10px;color:var(--muted);line-height:1.9;margin:16px 0 0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:24px;align-items:start}.operation{min-width:0}.operation-panel{padding:30px;background:var(--white);border-radius:10px}.roles{display:grid;grid-template-columns:1fr 1fr;gap:9px}.roles button{text-align:left;background:var(--bg);color:var(--ink);padding:21px 23px;border-radius:7px;position:relative;transition:background .2s,color .2s}.roles button[aria-pressed=true]{background:var(--blue);color:white}.roles button:disabled{opacity:1;cursor:default}.role-arrow{display:block;font:31px/1 'Segoe UI',sans-serif;margin-bottom:12px}.roles strong{display:block;font-size:20px;letter-spacing:-.5px;font-weight:800;margin-bottom:8px}.roles button>span:last-child{font-size:10px;opacity:.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:16px 20px;border-radius:6px;font-size:12px;font-weight:700;line-height:1.6;transition:transform .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-2px)}.button>span{font-size:23px;line-height:1}.primary{background:var(--blue);color:white}.primary:hover:not(:disabled){background:#2449ca}.secondary{background:var(--light);color:var(--blue)}.full{width:100%;margin-top:23px}.dropzone{text-align:center;background:#f3f6fc;border-radius:8px;padding:29px 20px 22px;margin-top:25px;transition:background .2s}.dropzone.drag-over{background:#dce6ff}.file-symbol{display:grid;place-items:center;margin:0 auto 15px;width:45px;height:48px;background:var(--light);color:var(--blue);font-size:30px;border-radius:5px}.dropzone h3{font-size:18px;margin:0 0 10px;letter-spacing:-.5px}.dropzone p{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 19px}.dropzone .button{font-size:11px;padding:13px 18px;gap:29px}.dropzone .file-count{font-size:9px;margin:15px 0 0}.files{display:grid;gap:5px;max-height:220px;overflow:auto;margin-top:14px}.files:empty{display:none}.file-row{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--bg);padding:12px 14px;border-radius:4px;font-size:11px;line-height:1.7}.file-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.file-row>small{font-size:10px;white-space:nowrap;color:var(--muted)}.speed-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:23px}.speed-row label{font-size:11px;font-weight:700;flex-shrink:0}select{padding:12px;background:var(--bg);border:0;color:var(--ink);border-radius:5px;font-size:11px;min-width:0;max-width:100%}.speed-row+ .helper{margin-top:10px}.share-panel{margin-top:23px;background:var(--light);padding:23px;border-radius:7px}.share-panel>span{display:block;color:#5b6d98;font-size:11px;font-weight:600}.share-panel>strong{display:block;font:700 clamp(29px,3vw,39px) Consolas,monospace;letter-spacing:3px;color:#2d4aa0;margin:14px 0 18px;user-select:all}.share-panel>div{display:flex;gap:8px;flex-wrap:wrap}.white{background:white;color:var(--blue);padding:11px 14px;font-size:10px}.share-panel p{font-size:10px;line-height:1.9;color:#5b6d98;margin:16px 0 0}.monitor{position:sticky;top:24px;background:var(--navy);color:#edf3ff;border-radius:10px;overflow:hidden}.monitor-top{display:flex;justify-content:space-between;gap:15px;background:#1c3152;padding:20px 26px;font-size:10px;font-weight:600}.monitor-top>span:last-child{color:#a9bded}.monitor-body{padding:28px}.monitor-kicker{font:700 8px Consolas,monospace;letter-spacing:2px;color:#9eb6ef;margin:0 0 17px}.monitor h2{font-size:25px;letter-spacing:-.7px;line-height:1.5;margin:0 0 13px;font-weight:800}.monitor #status-detail{font-size:11px;line-height:1.95;color:#b7c6e0;margin:0;min-height:43px}.speed-number{font:700 39px/1.15 Consolas,monospace;letter-spacing:-1px;color:#f6f9ff;margin-top:31px}.speed-caption{font-size:9px;color:#b7c6e0;margin:9px 0 25px}.progress-top{display:flex;justify-content:space-between;gap:15px;font-size:10px}.progress-top strong{font:11px Consolas,monospace;color:#a9c1ff}progress{display:block;width:100%;height:7px;appearance:none;border:0;border-radius:3px;overflow:hidden;background:#2c4161;margin:13px 0}progress::-webkit-progress-bar{background:#2c4161}progress::-webkit-progress-value{background:#7f9df6;transition:width .25s}progress::-moz-progress-bar{background:#7f9df6}.transferred{font:10px/1.8 Consolas,monospace;color:#a9bdde;margin:0}dl{margin:24px 0 0}dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px;font-size:10px;line-height:1.8;margin:11px 0}dt{color:#99afd3}dd{margin:0;text-align:right;color:#edf3ff}.no-peers{font-size:10px;line-height:1.9;color:#99afd3;background:#1c3152;padding:16px;border-radius:5px;margin:23px 0 0}.leave{background:#2c4161;color:#dbe7ff;margin-top:25px;width:100%;font-size:11px}.peer-list{display:grid;gap:8px;margin-top:21px}.peer-list:empty{display:none}.peer-row{background:#1c3152;padding:15px;border-radius:5px;min-width:0}.peer-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.peer-top strong{font-size:11px;font-weight:600}.text-button{background:none;color:var(--blue);font-size:10px;font-weight:600;padding:5px 0;cursor:pointer}.peer-top .text-button{color:#a9bded;font-size:9px}.peer-info{display:flex;justify-content:space-between;gap:12px;font-size:9px;line-height:1.8;margin-top:10px;color:#b7c6e0}.peer-info>span{overflow-wrap:anywhere;min-width:0}.peer-info b{font:10px/1.8 Consolas,monospace;white-space:nowrap;color:#dce7ff}.peer-row progress{height:5px;margin-bottom:0}.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.quick-facts>div{background:#e1e8f4;padding:21px 18px;border-radius:7px;min-width:0}.quick-facts span{display:block;font-size:8px;color:#657a9c;margin-bottom:11px}.quick-facts strong{font-size:16px;font-weight:800;letter-spacing:-.5px;display:block}.quick-facts small{display:block;font-size:9px;line-height:1.9;color:#657a9c;margin-top:10px}.error{font-size:12px;line-height:1.9;color:#8b3529;padding:15px 17px;background:#f8e6e0;border-radius:5px;margin-top:20px}.code-label{display:block;font-size:12px;font-weight:700;margin:26px 0 13px}.code-row{display:flex;gap:8px}.code-row input{min-width:0;width:100%;background:var(--bg);border:0;border-radius:5px;padding:13px 16px;color:var(--ink);font:700 23px Consolas,monospace;letter-spacing:2px;text-transform:uppercase}.code-row .button{flex-shrink:0;font-size:11px;gap:15px}.receive-options{display:grid;gap:19px;margin-top:25px}.receive-options label{display:block;font-size:11px;font-weight:700}.receive-options select{display:block;width:100%;margin-top:10px;padding:14px;font-size:12px}.cancel{color:#9b4738;margin-top:15px;padding:8px 0}.downloads{display:grid;gap:7px;margin-top:20px}.downloads:empty{display:none}.download-file,.saved-file{display:block;font-size:11px;line-height:1.9;background:var(--light);color:var(--blue);padding:14px 16px;border-radius:5px;overflow-wrap:anywhere;font-weight:600}.download-file:hover{background:#d5e0ff}.saved-file{color:#376d55;background:#e3f0e9}.guide{display:grid;grid-template-columns:.65fr 1.35fr;gap:75px;padding:76px 0 50px}.guide h2{font-size:36px;font-weight:800;line-height:1.4;margin:0;letter-spacing:-1.5px}.guide>div>p:last-child:not(.eyebrow){font-size:12px;color:var(--muted);line-height:2.1;margin-top:20px}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:25px}.guide-steps article{min-width:0}.guide-steps b{font:700 13px Consolas,monospace;color:var(--blue)}.guide-steps h3{font-size:13px;margin:17px 0 12px;font-weight:800}.guide-steps p{font-size:11px;line-height:2;color:var(--muted);margin:0}.guide details{background:#e1e8f4;padding:18px 21px;margin-bottom:7px;border-radius:5px}.guide summary{font-size:11px;line-height:1.7;font-weight:700;cursor:pointer}.guide details p{font-size:11px;line-height:2;color:#5f7394;margin-bottom:0}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0 37px;font-size:10px;color:var(--muted)}.footer>a:first-child{font-size:23px;font-weight:900;letter-spacing:-.5px;color:var(--ink)}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.workspace{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.operation-panel{padding:25px}.monitor-body{padding:25px}.channel-panel{padding:24px}.channels{gap:6px}.channels button{padding:13px 11px}.channels strong{font-size:22px}.roles button{padding:20px}.roles strong{font-size:19px}.quick-facts{gap:6px}.quick-facts>div{padding:18px 12px}.quick-facts strong{font-size:14px}.quick-facts small{font-size:8px}.guide{gap:40px}.code-row{flex-wrap:wrap}.code-row .button{width:100%}.hero-mark{gap:14px;padding:15px}.hero-mark b{width:58px;height:58px;font-size:40px}.section-top h2{font-size:17px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.nav{height:81px;gap:18px}.brand{font-size:19px;gap:9px}.brand small{font-size:6px;letter-spacing:1.1px}.brand img{width:30px;height:30px}.nav nav{gap:18px;font-size:10px}.hero{padding:25px 0 32px}.hero-mark{display:none}h1{font-size:clamp(52px,13.5vw,75px);letter-spacing:-3px}.title-row{gap:13px}.eyebrow{font-size:8px;margin-bottom:18px}.beta{font-size:9px;padding:7px 9px}.lead{font-size:16px;margin-top:18px}.channel-panel{padding:23px 21px;margin-bottom:17px;border-radius:8px}.section-top{gap:12px;margin-bottom:19px}.section-top>div{gap:11px}.section-top h2{font-size:16px}.step{width:24px;height:24px;font-size:10px}.server-state{font-size:9px;gap:5px}.channels{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.channels button{padding:13px 12px;border-radius:5px;gap:6px}.channels strong{font-size:23px}.channels button>span{font-size:8px}.helper{font-size:10px;margin-top:14px}.workspace{grid-template-columns:1fr;gap:16px}.operation-panel{padding:24px 21px;border-radius:8px}.roles button{padding:18px}.roles strong{font-size:19px}.roles button>span:last-child{font-size:9px;line-height:1.8;display:block}.role-arrow{font-size:28px;margin-bottom:12px}.dropzone{padding:25px 18px 22px;margin-top:21px}.dropzone h3{font-size:18px}.dropzone p{font-size:11px}.file-symbol{width:41px;height:43px;font-size:26px}.file-row{padding:11px 12px;font-size:10px;gap:10px}.file-row>small{font-size:9px}.speed-row{display:block;margin-top:21px}.speed-row select{width:100%;margin-top:10px;padding:13px;font-size:12px}.speed-row label{font-size:11px}.full{font-size:12px;margin-top:20px}.share-panel{padding:21px 19px}.share-panel>strong{font-size:29px;letter-spacing:2px}.white{font-size:10px;padding:11px 12px}.share-panel>div{gap:6px}.quick-facts>div{padding:18px 12px}.quick-facts span{font-size:8px}.quick-facts strong{font-size:14px}.quick-facts small{font-size:8px}.monitor{position:static;border-radius:8px}.monitor-top{padding:20px 25px;font-size:11px}.monitor-body{padding:25px}.monitor h2{font-size:26px}.monitor #status-detail{font-size:12px;min-height:0}.speed-number{font-size:42px;margin-top:26px}.speed-caption{font-size:10px}.progress-top,dl>div{font-size:11px}.transferred{font-size:11px}.monitor-kicker{font-size:8px}.no-peers{font-size:11px}.peer-top strong{font-size:12px}.peer-info{font-size:10px}.peer-info b{font-size:11px}.code-row{flex-wrap:nowrap}.code-row .button{width:auto;padding:13px 14px;gap:10px;font-size:11px}.code-row .button>span{display:none}.code-row input{font-size:22px;padding:13px 12px;letter-spacing:1px}.receive-options select{font-size:12px}.guide{grid-template-columns:1fr;gap:28px;padding-top:49px;padding-bottom:25px}.guide h2{font-size:32px;letter-spacing:-1px}.guide h2 br{display:none}.guide>div>p:last-child:not(.eyebrow){font-size:12px;margin-top:17px}.guide-steps{gap:16px}.guide-steps h3{font-size:12px;line-height:1.7;margin-top:13px;margin-bottom:9px}.guide-steps p{font-size:10px}.guide summary{font-size:12px}.guide details{padding:18px}.guide details p{font-size:12px}.footer{padding:25px 0 32px;flex-wrap:wrap;gap:22px}.footer>span{order:3;flex-basis:100%;font-size:9px}.footer>a:last-child{font-size:10px}}
@media(max-width:370px){.wrap{width:calc(100% - 28px)}.nav nav{gap:14px;font-size:9px}.section-top h2{font-size:15px}.channel-panel,.operation-panel{padding:21px 18px}.channels button{padding:12px 10px}.roles button{padding:17px 15px}.roles strong{font-size:18px}.title-row h1{font-size:51px}.code-row{flex-wrap:wrap}.code-row .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Open channels and public notes */
.channels button{min-width:0;align-content:start}.channels .channel-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;text-align:left;font:500 10px/1.7 var(--font);color:var(--muted);max-width:100%}.channels button[aria-pressed=true] .channel-note{color:#edf3ff}.note-editor{margin-top:24px}.note-editor label{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:12px;font-weight:700;margin-bottom:11px}.note-editor label span{font-size:10px;font-weight:400;color:var(--muted)}.note-editor>div{display:flex;gap:8px}.note-editor input{width:100%;min-width:0;background:var(--bg);border:0;border-radius:5px;padding:14px;color:var(--ink);font-size:12px}.note-editor button{white-space:nowrap;padding:12px 14px;font-size:11px}.note-editor .helper{margin-top:8px}.share-panel>div{margin-top:15px}.selected-note{margin:0;padding:14px 26px;background:#203858;color:#dce7ff;font-size:11px;line-height:1.8;overflow-wrap:anywhere}@media(max-width:760px){.channels .channel-note{font-size:9px}.channels button{padding-inline:10px}.note-editor>div{flex-wrap:wrap}.note-editor button{width:100%;justify-content:center}}

/* Real progress lights. The animation never invents transferred bytes. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.monitor{max-height:calc(100svh - 48px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#456188 #14243f;overscroll-behavior:contain}
.transfer-motion{position:relative;height:62px;background:#1c3152;display:flex;align-items:center;justify-content:space-between;gap:15px;border-radius:8px;padding:13px 16px;margin-top:25px;overflow:hidden;isolation:isolate}
.motion-node{display:grid;place-items:center;width:35px;height:35px;background:#2c446b;color:#dce7ff;border-radius:8px;font:26px/1 'Segoe UI',sans-serif;flex-shrink:0;transition:background .35s,transform .35s}
.motion-packets{display:flex;justify-content:center;gap:7px;flex:1}.motion-packets i{display:block;height:6px;width:6px;border-radius:50%;background:#6b89c2;opacity:.4}
.motion-label{font-size:9px;color:#9eb7df;line-height:1.8;min-height:16px;margin:9px 0 21px;transition:color .3s}
.success-badge{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;display:grid;place-items:center;background:#b8ceff;color:#1c3568;font:700 26px 'Segoe UI',sans-serif;opacity:0;transform:scale(.4);transition:opacity .2s}
.dot-board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;padding:15px 12px;background:#1b2e4c;border-radius:8px;margin:14px 0 12px;min-height:178px}
.dot-board i{height:10px;width:10px;display:block;place-self:center;border-radius:50%;background:#344b6e;transition:background .18s ease,box-shadow .18s ease,transform .2s ease}
.dot-board i.lit{background:#90afff;box-shadow:0 0 8px #81a5ff20}
.monitor[data-motion=sending] .dot-board i.current{background:#bdcfff;animation:progress-breathe 1.05s ease-in-out infinite}
.monitor[data-motion=sending] .transfer-motion{animation:transmission-start .5s cubic-bezier(.2,.8,.2,1) both}
.monitor[data-motion=sending] .motion-node{background:#365ba7}.monitor[data-motion=sending] .motion-packets i{background:#b9d1ff;animation:packet-travel 1s cubic-bezier(.4,0,.2,1) infinite}
.monitor[data-motion=sending] .motion-packets i:nth-child(2){animation-delay:.14s}.monitor[data-motion=sending] .motion-packets i:nth-child(3){animation-delay:.28s}
.monitor[data-motion=connecting] .motion-node{animation:device-breathe 1.4s ease-in-out infinite}.monitor[data-motion=connecting] .destination{animation-delay:.25s}
.monitor[data-motion=complete] .dot-board i.lit{background:#c5d7ff;animation:light-arrival .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 3ms)}
.monitor[data-motion=complete] .success-badge{opacity:1;transform:scale(1);animation:success-pop .65s cubic-bezier(.2,.8,.25,1) both}
.monitor[data-motion=complete] .motion-packets{opacity:0;transition:opacity .25s}.monitor[data-motion=complete] .destination{background:#5072b6;animation:destination-arrival .55s ease-out both}
.monitor[data-motion=complete] .motion-label{color:#cee0ff}.monitor[data-motion=error] .dot-board i.current{background:#bf9f84}.monitor[data-motion=error] .motion-label{color:#dbbca3}
.peer-lights{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:4px;margin-top:14px}.peer-lights i{display:block;place-self:center;width:6px;height:6px;border-radius:50%;background:#3c5277;transition:background .2s,transform .2s}
.peer-lights i.lit{background:#99b5ff}.peer-row.running .peer-lights i.current{background:#d3e0ff;animation:progress-breathe 1.1s ease-in-out infinite}
.peer-row.complete .peer-lights i.lit{background:#c5d7ff;animation:light-arrival .45s ease-out both;animation-delay:calc(var(--i) * 12ms)}
.peer-row{animation:peer-arrival .4s cubic-bezier(.2,.8,.2,1) both}.download-file,.saved-file{animation:file-arrival .55s cubic-bezier(.2,.8,.2,1) both;transform-origin:left center}
@keyframes packet-travel{0%{opacity:.15;transform:translateX(-8px) scale(.8)}45%{opacity:1;transform:translateX(0) scale(1.2)}100%{opacity:.15;transform:translateX(8px) scale(.8)}}
@keyframes progress-breathe{0%,100%{opacity:.55;transform:scale(.82)}50%{opacity:1;transform:scale(1.22)}}
@keyframes device-breathe{0%,100%{opacity:.6;transform:scale(.97)}50%{opacity:1;transform:scale(1.04)}}
@keyframes transmission-start{from{opacity:.45;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes light-arrival{0%{opacity:.55;transform:scale(.75)}55%{opacity:1;transform:scale(1.35)}100%{opacity:1;transform:scale(1)}}
@keyframes success-pop{0%{opacity:0;transform:scale(.4) rotate(-12deg)}60%{opacity:1;transform:scale(1.15) rotate(3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes destination-arrival{0%{transform:scale(.9)}55%{transform:scale(1.13)}100%{transform:scale(1)}}
@keyframes file-arrival{from{opacity:0;transform:translateY(13px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes peer-arrival{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.monitor{max-height:none;overflow:visible}.dot-board{gap:8px;padding:18px 15px;min-height:208px}.dot-board i{width:11px;height:11px}.transfer-motion{height:68px}.motion-label{font-size:10px}.motion-node{width:38px;height:38px;font-size:28px}.peer-lights{gap:5px}.peer-lights i{width:7px;height:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.monitor[data-motion=complete] .success-badge{opacity:1;transform:scale(1)}}

.failure-panel{background:#273b59;border-radius:8px;padding:18px;margin:20px 0}.failure-panel>span{font-size:8px;letter-spacing:.6px;color:#afc0d9}.failure-panel h3{font-size:16px;line-height:1.6;margin:9px 0;color:#eef4ff}.failure-panel>p{font-size:11px;line-height:1.9;color:#c1cee1;margin:0 0 12px}.failure-panel ol{padding-left:18px;margin:0;color:#c1cee1;font-size:10px;line-height:1.95}.failure-panel li{padding-left:3px;margin-bottom:5px}.failure-actions{display:grid;gap:7px;margin-top:16px}.failure-actions button{padding:12px;border-radius:5px;background:#c3d4f5;color:#243d64;font-size:10px;font-weight:700;text-align:left}.failure-actions button:last-child{background:#3a506e;color:#d4dff1}.failure-actions button:hover{filter:brightness(1.08)}.failure-panel details{margin-top:14px;color:#a4b8d6;font-size:9px}.failure-panel summary{cursor:pointer}.failure-panel details p{font-size:9px;line-height:1.9;overflow-wrap:anywhere}.monitor[data-motion=error] .speed-number,.monitor[data-motion=error] .speed-caption{display:none}.monitor[data-motion=error] .dot-board{animation:board-interrupted .4s ease-out both}
.failure-badge{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;display:grid;place-items:center;background:#d2c0a8;color:#3e3b3a;font:700 26px Consolas,monospace;opacity:0;transform:scale(.4)}.monitor[data-motion=error] .failure-badge{opacity:1;transform:scale(1);animation:bridge-interrupted .55s ease-out both}.monitor[data-motion=error] .motion-node:first-child{animation:bridge-left .5s ease-out both}.monitor[data-motion=error] .destination{animation:bridge-right .5s ease-out both}
@keyframes board-interrupted{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}65%{transform:translateX(2px)}}
@keyframes bridge-interrupted{0%{opacity:0;transform:scale(.4) rotate(-9deg)}60%{opacity:1;transform:scale(1.12) rotate(7deg)}100%{transform:scale(1) rotate(0)}}
@keyframes bridge-left{0%{transform:translateX(0)}45%{transform:translateX(-7px) rotate(-8deg)}100%{transform:translateX(-3px) rotate(-3deg)}}
@keyframes bridge-right{0%{transform:translateX(0)}45%{transform:translateX(7px) rotate(8deg)}100%{transform:translateX(3px) rotate(3deg)}}
@media(max-width:760px){.failure-panel h3{font-size:18px}.failure-panel>p,.failure-panel li{font-size:12px}.failure-actions button{font-size:12px}.failure-panel details,.failure-panel details p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.failure-panel *,.failure-badge{animation:none!important;transition:none!important}}

/* Visual travel cues, plain transfer labels. */
#transfer-motion,#motion-label{display:none}
.journey-terminal.monitor{position:relative;top:auto;max-height:none;overflow:visible;background:#f7fbff;color:#152c50;min-height:80svh;margin:0 0 30px;border-radius:20px;box-shadow:0 18px 70px #2947750b}
.journey-terminal .monitor-top{background:transparent;border-bottom:1px solid #d9e5f1;color:#597497;padding:18px 28px;font-size:11px}.journey-terminal .monitor-top>span:last-child{color:#345ce6;font-weight:800}.journey-terminal .selected-note{padding:12px 28px;margin:0;background:#e6efff;color:#315782;font-size:12px}
.journey-terminal .monitor-body{padding:0;display:flex;flex-direction:column;min-height:calc(80svh - 56px)}
.journey-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding:28px 34px 0;z-index:3}.journey-terminal h2{font-size:26px;line-height:1.3;margin:0 0 8px;letter-spacing:-.6px}.journey-terminal #status-detail{min-height:0;color:#6a809c;font-size:11px;line-height:1.8;max-width:520px}.journey-heading .progress-top{align-items:center;gap:14px;font-size:11px;white-space:nowrap;color:#6a809c}.journey-heading #progress-number{font:600 30px/1.2 Consolas,monospace;color:#345ce6;letter-spacing:-1px}
.flight-scene{position:relative;isolation:isolate;width:100%;height:clamp(340px,49svh,680px);flex:1;min-height:340px;overflow:hidden;background:linear-gradient(180deg,#f7fbff 0%,#e8f4ff 62%,#dcecf5 83%,#edf5ef 100%);margin:0}
.journey-sky{position:absolute;inset:0;overflow:hidden;z-index:-2;pointer-events:none}.journey-sky:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 72% 20%,#fff9d9b0,transparent 33%)}.sky-cloud{position:absolute;color:white;font-family:'Segoe UI Symbol',sans-serif;line-height:1;filter:drop-shadow(0 5px 15px #abc9e01b);opacity:.88}.cloud-a{font-size:130px;left:15%;top:7%;animation:cloud-drift 32s ease-in-out infinite alternate}.cloud-b{font-size:100px;right:20%;top:0;animation:cloud-drift 26s ease-in-out -8s infinite alternate}.cloud-c{font-size:65px;left:52%;top:34%;opacity:.6;animation:cloud-drift 30s ease-in-out -14s infinite alternate}.distant-land{position:absolute;bottom:-25%;width:75%;height:48%;border-radius:50%;background:#d8e7df}.land-a{left:-12%;transform:rotate(7deg)}.land-b{right:-20%;bottom:-29%;background:#d2e3dc;transform:rotate(-9deg)}
.journey-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.journey-route path{fill:none;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}.route-base{stroke:#b3c8df}.route-fill{stroke:#3d6df0;filter:drop-shadow(0 0 4px #5a8bf026)}
.journey-end{position:absolute;bottom:9%;display:flex;flex-direction:column;align-items:center;gap:9px;z-index:1}.journey-end.departure{left:6%}.journey-end.arrival{right:5%}.place-emoji{font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif;font-size:72px;line-height:1.25;opacity:.78;filter:saturate(.72)}.endpoint-label{font-size:10px;font-weight:600;color:#758c9b;background:#f5faffb5;padding:5px 10px;border-radius:20px}
.flight-character,.flight-plane,.flight-token,.flight-turbulence{position:absolute;top:0;left:0;pointer-events:none;will-change:transform;font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif}.flight-character{width:var(--emoji-size,65px);height:var(--emoji-size,65px);z-index:5;transform-origin:50% 70%}.emoji-face{display:block;font-size:var(--emoji-size,65px);line-height:1}.emoji-luggage,.emoji-received{position:absolute;font-size:calc(var(--emoji-size,65px)*.45);right:-27%;bottom:-17%}.emoji-received{opacity:0}.flight-plane{width:calc(var(--emoji-size,65px)*1.6);height:calc(var(--emoji-size,65px)*1.4);z-index:4;transform-origin:center}.plane-emoji{display:block;font-size:calc(var(--emoji-size,65px)*1.5);line-height:1;transform:rotate(44deg);filter:drop-shadow(0 7px 5px #567ba025)}.pilot-emoji{position:absolute;top:-32%;left:25%;font-size:calc(var(--emoji-size,65px)*.48);line-height:1;opacity:0;background:#f8fcffa8;border-radius:50%;padding:3px}.plane-wake{position:absolute;width:75%;height:2px;top:70%;right:80%;background:linear-gradient(90deg,transparent,#8cadd9);opacity:0;transform-origin:right center}.flight-token{z-index:6;font-size:28px;opacity:0;line-height:1}.flight-turbulence{z-index:7;font-size:42px;opacity:0}.arrival-celebration{position:absolute;left:var(--arrival-x);top:var(--arrival-y);font-size:48px;opacity:0;pointer-events:none}.flight-caption{position:absolute;bottom:6%;left:30%;right:30%;text-align:center;color:#587596;font-size:11px;line-height:1.5;margin:0;letter-spacing:2px}
.flight-scene[data-phase=boarding] .flight-plane{animation:plane-ready .65s ease-out both}.flight-scene[data-phase=flying] .plane-emoji{animation:plane-float var(--flight-period,1.5s) ease-in-out infinite}.flight-scene[data-phase=flying] .pilot-emoji,.flight-scene[data-phase=landing] .pilot-emoji,.flight-scene[data-phase=delivered] .pilot-emoji,.flight-scene[data-phase=error] .pilot-emoji{opacity:1}.flight-scene[data-phase=flying] .plane-wake{opacity:.65;animation:plane-wake var(--flight-period,1.5s) linear infinite}.flight-scene[data-speed=slow][data-phase=flying] .pilot-emoji{animation:emoji-worry .28s ease-in-out infinite}.flight-scene[data-speed=slow][data-phase=flying] .recipient .emoji-face{animation:emoji-angry .55s ease-in-out infinite}.flight-scene[data-speed=fast][data-phase=flying] .recipient .emoji-face{animation:emoji-happy .7s ease-in-out infinite}.flight-scene[data-phase=delivered] .recipient .emoji-received{opacity:1}.flight-scene[data-phase=delivered] .recipient .emoji-face{animation:emoji-happy .6s ease-out 2}.flight-scene[data-phase=delivered] .arrival-celebration{animation:emoji-celebrate 1.2s ease-out both}.flight-scene[data-phase=error] .flight-turbulence{opacity:1}.flight-scene[data-phase=error] .route-fill{stroke:#8b91a0}.flight-scene[data-phase=error] .recipient .emoji-face{animation:emoji-angry .45s ease-out 3}
.journey-data{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:21px 34px;background:white}.journey-data>div{display:flex;align-items:baseline;gap:14px}.journey-terminal .speed-number{font-size:28px;color:#243f65;margin:0}.journey-terminal .speed-caption{margin:0;font-size:10px;color:#7b8ea4}.journey-terminal .transferred{color:#587596;font-size:12px}.journey-terminal .leave{width:auto;margin:0;padding:11px 15px;font-size:10px;background:#eaf0fa;color:#45618c;gap:16px}
.journey-details{background:#f7fbff;border-top:1px solid #e2ebf4;border-radius:0 0 20px 20px;padding:14px 34px;color:#6a809c;font-size:11px}.journey-details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:600}.journey-details summary:after{content:'＋'}.journey-details[open] summary:after{content:'－'}.journey-details dl{display:flex;gap:28px;flex-wrap:wrap;margin-top:15px}.journey-details dl>div{display:flex;gap:15px;margin:5px 0}.journey-details dt{color:#7b8ea4}.journey-details dd{color:#315782}.journey-details .peer-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.journey-details .peer-row{background:#eaf1fc}.journey-details .peer-top strong,.journey-details .peer-info,.journey-details .peer-info b,.journey-details .peer-top .text-button{color:#45618c}.journey-details .no-peers{background:transparent;padding:0;color:#7b8ea4;margin:13px 0 2px}.journey-terminal .failure-panel{margin:18px 34px 0;background:#e9edf4;color:#36506f}.journey-terminal .failure-panel h3,.journey-terminal .failure-panel>p,.journey-terminal .failure-panel ol,.journey-terminal .failure-panel>span,.journey-terminal .failure-panel details{color:#45618c}.journey-terminal[data-motion=error] .speed-number,.journey-terminal[data-motion=error] .speed-caption{display:block}
.workspace{display:block}.operation{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}.quick-facts{grid-template-columns:1fr;margin:0;gap:10px}.quick-facts>div{padding:26px}.quick-facts strong{font-size:18px}.hero{padding:20px 0 30px}.hero h1{font-size:clamp(52px,6vw,74px)}.hero .eyebrow,.hero .hero-mark,.hero .lead{display:none}.channel-panel{margin-bottom:22px}.guide{padding-top:40px}
.peer-lights{display:block;height:4px;background:#ccdaf0;border-radius:8px;overflow:hidden;margin-top:13px}.peer-lights .line-fill{display:block;width:0;height:100%;background:#6589ed;transition:width .2s ease;border-radius:inherit}.journey-terminal .peer-row.complete .line-fill{background:#345ce6}
@keyframes cloud-drift{from{transform:translateX(-15px)}to{transform:translateX(25px)}}@keyframes plane-ready{from{opacity:.2;filter:blur(2px)}to{opacity:1;filter:none}}@keyframes plane-float{0%,100%{transform:rotate(44deg) translateY(0)}50%{transform:rotate(44deg) translateY(-3px)}}@keyframes plane-wake{0%{transform:scaleX(.3);opacity:0}45%{opacity:.65}100%{transform:scaleX(1.2);opacity:0}}@keyframes emoji-worry{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes emoji-angry{0%,100%{transform:translateY(0) rotate(-4deg)}45%{transform:translateY(-4px) rotate(4deg)}}@keyframes emoji-happy{0%,100%{transform:translateY(0)}45%{transform:translateY(-9px) rotate(-5deg)}}@keyframes emoji-celebrate{0%{opacity:0;transform:scale(.3) translateY(20px)}35%{opacity:1;transform:scale(1.1) translateY(0)}100%{opacity:0;transform:scale(.8) translateY(-25px)}}
@media(max-width:760px){.journey-terminal.monitor{min-height:80svh;margin-bottom:20px;border-radius:14px}.journey-terminal .monitor-body{min-height:calc(80svh - 52px)}.journey-terminal .monitor-top{padding:17px 20px;font-size:10px}.journey-terminal .selected-note{padding:11px 20px;font-size:11px}.journey-heading{padding:23px 22px 0;gap:15px}.journey-terminal h2{font-size:22px}.journey-terminal #status-detail{font-size:10px;max-width:250px}.journey-heading .progress-top>span{display:none}.journey-heading #progress-number{font-size:25px}.flight-scene{min-height:340px;height:45svh}.place-emoji{font-size:48px}.journey-end.departure{left:4%}.journey-end.arrival{right:3%}.journey-end{bottom:9%}.endpoint-label{font-size:9px}.flight-caption{font-size:10px;letter-spacing:1px;bottom:9%;left:30%;right:30%}.sky-cloud.cloud-a{font-size:100px;left:3%;top:15%}.sky-cloud.cloud-b{font-size:85px;right:7%;top:9%}.sky-cloud.cloud-c{font-size:60px;left:44%;top:30%}.journey-data{padding:17px 20px;gap:14px;flex-wrap:wrap}.journey-data>div{gap:8px}.journey-terminal .speed-number{font-size:23px}.journey-terminal .speed-caption{font-size:9px}.journey-terminal .transferred{font-size:10px}.journey-terminal .leave{font-size:9px;padding:10px 11px;gap:10px}.journey-details{padding:14px 20px}.journey-details dl{gap:18px}.journey-terminal .failure-panel{margin:15px 20px 0}.operation{grid-template-columns:1fr}.quick-facts{grid-template-columns:repeat(3,1fr);margin-top:0}.quick-facts>div{padding:18px 12px}.quick-facts strong{font-size:14px}.hero{padding-top:12px;padding-bottom:24px}.hero h1{font-size:52px;letter-spacing:-3px}.title-row{gap:12px}.flight-token{font-size:22px}.flight-turbulence{font-size:30px}}
@media(prefers-reduced-motion:reduce){.flight-scene *{animation:none!important;transition:none!important}.flight-plane,.flight-character,.flight-token{will-change:auto}.flight-scene[data-phase=delivered] .arrival-celebration{opacity:1}}

/* Receiving availability and publisher controls. */
.publish-options{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;margin-top:22px}.publish-options label{font-size:11px;font-weight:700;min-width:0}.publish-options select,.publish-options input{display:block;width:100%;margin-top:10px;padding:13px;background:var(--bg);border:0;border-radius:5px;color:var(--ink);font-size:12px}.channels button.available{background:#e0ebff;box-shadow:inset 0 0 0 1px #7ca4f344}.channels button.available>span{display:flex;align-items:center;gap:6px;color:#315fc4;font-weight:700}.channels button.available>span:before,.availability-badge.available:before{content:'';display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#416fe7;box-shadow:0 0 0 0 #416fe740;animation:receive-breathe 1.8s ease-in-out infinite}.channels button.available[aria-pressed=true]{background:#345ce6}.channels button.available[aria-pressed=true]>span{color:white}.channels button.available[aria-pressed=true]>span:before{background:#fff;animation-name:receive-breathe-white}.channels button.closed{background:#e9edf2}.channels button.closed>span{color:#7b8594}.availability-badge{display:inline-flex;align-items:center;gap:8px;background:#e9edf2;color:#7b8594;border-radius:30px;padding:7px 12px;font-size:11px;margin-left:auto}.availability-badge.available{background:#e0ebff;color:#315fc4;font-weight:700}.publication-detail{padding:11px 28px;margin:0;background:#f0f5fd;color:#607a99;font-size:11px}.journey-terminal .monitor-top{align-items:center}.channels button{min-height:82px}#join:not(:disabled){box-shadow:0 0 0 3px #345ce617}#start-receive:not(:disabled){animation:receive-button-breathe 2s ease-in-out infinite}
@keyframes receive-breathe{0%,100%{opacity:.6;box-shadow:0 0 0 0 #416fe730}50%{opacity:1;box-shadow:0 0 0 5px #416fe700}}@keyframes receive-breathe-white{0%,100%{opacity:.6;box-shadow:0 0 0 0 #ffffff50}50%{opacity:1;box-shadow:0 0 0 5px #ffffff00}}@keyframes receive-button-breathe{0%,100%{box-shadow:0 0 0 0 #345ce630}50%{box-shadow:0 0 0 5px #345ce600}}
@media(max-width:760px){.publish-options{grid-template-columns:1fr}.availability-badge{font-size:9px;padding:6px 8px}.journey-terminal .monitor-top{gap:10px}.publication-detail{padding:10px 20px;font-size:10px}.channels button.available>span{font-size:8px;gap:4px}.channels button.available>span:before{width:5px;height:5px}}
@media(prefers-reduced-motion:reduce){.channels button.available>span:before,.availability-badge.available:before,#start-receive{animation:none!important}}

/* Smaller drawn plane and scenery; only facial expressions are emoji. */
.journey-terminal.monitor,.journey-terminal .monitor-body{min-height:0}.flight-scene{height:clamp(280px,32vw,420px);min-height:280px;flex:none}.sky-cloud{width:120px;height:33px;background:#fff;border-radius:60px;filter:none}.sky-cloud:before,.sky-cloud:after{content:'';position:absolute;border-radius:50%;background:inherit}.sky-cloud:before{width:57px;height:57px;left:20px;bottom:7px}.sky-cloud:after{width:46px;height:46px;right:17px;bottom:7px}.cloud-b{scale:.75}.cloud-c{scale:.5}.place-emoji{display:block;width:78px;height:66px;font-size:0;filter:none;opacity:.8}.place-emoji svg{width:100%;height:100%;display:block}.journey-end{bottom:5%}.flight-character{height:calc(var(--emoji-size)*1.6)}.emoji-face{position:relative;z-index:2;font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif;font-size:var(--emoji-size);line-height:1}.person-body{display:block;position:absolute;top:calc(var(--emoji-size)*.85);left:12%;width:76%;height:calc(var(--emoji-size)*.6);border-radius:12px 12px 5px 5px;background:#91acd3}.recipient .person-body{background:#9fb8b0}.emoji-luggage,.emoji-received{right:-38%;bottom:5%;width:30px;height:32px;font-size:0}.emoji-luggage svg,.emoji-received svg,.flight-token svg{width:100%;height:100%;display:block}.flight-plane{width:88px;height:44px}.flight-plane .plane-emoji{display:block;width:88px;height:44px;font-size:0;transform:none;filter:drop-shadow(0 3px 3px #567ba025)}.pilot-emoji{top:-11px;left:48px;font-size:22px;padding:1px}.flight-token{width:25px;height:22px;font-size:0}.flight-turbulence{width:45px;height:25px;font-size:0}.flight-turbulence i{display:block;height:2px;width:30px;background:#9aaabd;margin:5px 0;border-radius:4px}.flight-turbulence i:nth-child(2){width:40px;margin-left:7px}.arrival-celebration{width:42px;height:38px;font-size:0}.arrival-celebration i{position:absolute;width:5px;height:12px;background:#719ce0;transform:rotate(-25deg);left:4px;top:12px}.arrival-celebration i:nth-child(2){left:22px;top:0;transform:rotate(10deg);background:#91b6a7}.arrival-celebration i:nth-child(3){left:39px;top:15px;transform:rotate(40deg)}.journey-route path{display:none}.route-lights circle{fill:#b8c8da;transition:fill .2s;filter:none}.route-lights circle.lit{fill:#5e86df;filter:drop-shadow(0 0 3px #719cf061)}.flight-scene[data-phase=flying] .route-lights circle.current{animation:route-lamp 1.3s ease-in-out infinite}.flight-scene[data-phase=error] .route-lights circle.lit{fill:#9aa4b3}.flight-scene[data-phase=flying] .plane-emoji{animation:drawn-plane-float var(--flight-period,1.5s) ease-in-out infinite}.flight-scene[data-phase=error] .flight-turbulence{opacity:1}.flight-scene[data-phase=delivered] .emoji-received{opacity:1}
@keyframes drawn-plane-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes route-lamp{0%,100%{opacity:.5}50%{opacity:1;filter:drop-shadow(0 0 5px #5e86df)}}
@media(max-width:760px){.flight-scene{height:270px;min-height:270px}.place-emoji{width:54px;height:50px}.flight-plane,.flight-plane .plane-emoji{width:65px;height:33px}.pilot-emoji{left:36px;top:-10px;font-size:18px}.emoji-luggage,.emoji-received{width:22px;height:25px}.flight-token{width:20px;height:17px}.sky-cloud{width:95px;height:27px}.sky-cloud:before{width:45px;height:45px;left:16px}.sky-cloud:after{width:36px;height:36px;right:13px}.route-lights circle{r:4}.journey-end{bottom:5%}.flight-caption{bottom:7%}}
@media(prefers-reduced-motion:reduce){.route-lights circle,.plane-emoji{animation:none!important;transition:none!important}}

/* Four original cartoon image expressions, shared by the two endpoints and pilot. */
.cartoon-face{display:block;width:var(--emoji-size,42px);height:var(--emoji-size,42px);background-image:none;background-size:200% 200%;background-repeat:no-repeat;background-position:0 0;font-size:0!important;border-radius:0;padding:0}.cartoon-face[data-expression=happy]{background-position:100% 0}.cartoon-face[data-expression=worried]{background-position:0 100%}.cartoon-face[data-expression=angry]{background-position:100% 100%}.pilot-emoji.cartoon-face{width:27px;height:27px;background-color:transparent;top:-12px;left:47px}.flight-character .person-body{top:calc(var(--emoji-size)*.75)}.recipient .emoji-received{right:-35%}.flight-scene .plane-emoji{font-family:inherit}.flight-scene .emoji-face{font-family:inherit}.flight-caption{letter-spacing:1px}.flight-character{height:calc(var(--emoji-size)*1.4)}
@media(max-width:760px){.pilot-emoji.cartoon-face{width:23px;height:23px;left:34px;top:-13px}}
/* Twemoji images, served locally. Graphics by Twitter and contributors, CC BY 4.0. */
.cartoon-face{background-image:url('/tools/transfer/emoji-options/twemoji-normal.png');background-size:contain;background-position:center;background-repeat:no-repeat;background-color:transparent;font-size:0!important;line-height:1}.cartoon-face:before{content:none}.cartoon-face[data-expression=happy]{background-image:url('/tools/transfer/emoji-options/twemoji-happy.png');background-position:center}.cartoon-face[data-expression=worried]{background-image:url('/tools/transfer/emoji-options/twemoji-worried.png');background-position:center}.cartoon-face[data-expression=angry]{background-image:url('/tools/transfer/emoji-options/twemoji-angry.png');background-position:center}.pilot-emoji.cartoon-face{background-size:contain;font-size:0!important}

/* Strong pure-blue light with a slow surrounding halo. */
.channels button.available{position:relative;isolation:isolate;background:#0000ff;color:white;box-shadow:0 0 10px #0000ff44,0 0 24px #0000ff22;overflow:visible}.channels button.available:hover:not(:disabled),.channels button.available[aria-pressed=true]{background:#0000ff;color:white}.channels button.available:after{content:'';position:absolute;inset:-2px;border:2px solid #0000ff;border-radius:inherit;pointer-events:none;animation:channel-blue-halo 2.4s ease-in-out infinite}.channels button.available>span,.channels button.available .channel-note{color:#fff}.channels button.available>span:before,.channels button.available[aria-pressed=true]>span:before{background:#fff;border:0;animation:none;box-shadow:0 0 5px #fff8}.availability-badge.available{background:#eeeeff;color:#0000ff;border:1px solid #0000ff55;box-shadow:0 0 12px #0000ff22;animation:badge-blue-halo 2.4s ease-in-out infinite}.availability-badge.available:before{width:9px;height:9px;background:#0000ff;animation:beacon-blue-halo 2.4s ease-in-out infinite}.channel-panel{overflow:visible}.route-lights circle.lit{fill:#0000ff;filter:drop-shadow(0 0 2px #0000ff) drop-shadow(0 0 7px #0000ff99);animation:route-blue-halo 2.4s ease-in-out infinite}.flight-scene[data-phase=flying] .route-lights circle.current{fill:#0000ff;animation:route-blue-halo 1.6s ease-in-out infinite}.flight-scene[data-phase=error] .route-lights circle.lit{fill:#9aa4b3;filter:none;animation:none}#start-receive:not(:disabled){background:#0000ff;animation:receive-pure-blue 2.4s ease-in-out infinite}#start-receive:hover:not(:disabled){background:#0000dd}
@keyframes channel-blue-halo{0%,100%{opacity:.6;box-shadow:0 0 5px #0000ff55,0 0 12px #0000ff22}50%{opacity:1;box-shadow:0 0 10px #0000ff99,0 0 27px #0000ff55,0 0 42px #0000ff22}}
@keyframes badge-blue-halo{0%,100%{box-shadow:0 0 6px #0000ff11}50%{box-shadow:0 0 17px #0000ff44}}
@keyframes beacon-blue-halo{0%,100%{box-shadow:0 0 3px #0000ff88,0 0 0 0 #0000ff33}50%{box-shadow:0 0 8px #0000ff,0 0 0 7px #0000ff00}}
@keyframes route-blue-halo{0%,100%{opacity:.85;filter:drop-shadow(0 0 2px #0000ff) drop-shadow(0 0 5px #0000ff77)}50%{opacity:1;filter:drop-shadow(0 0 4px #0000ff) drop-shadow(0 0 10px #0000ffcc)}}
@keyframes receive-pure-blue{0%,100%{box-shadow:0 0 8px #0000ff33,0 0 0 0 #0000ff22}50%{box-shadow:0 0 22px #0000ff66,0 0 0 5px #0000ff00}}
@media(prefers-reduced-motion:reduce){.channels button.available:after,.availability-badge.available,.availability-badge.available:before,.route-lights circle.lit,.flight-scene[data-phase=flying] .route-lights circle.current,#start-receive:not(:disabled){animation:none!important}.route-lights circle.lit{opacity:1;fill:#0000ff;filter:drop-shadow(0 0 4px #0000ff88)}}

.celebrating,.celebrating body{overflow:hidden}
.transfer-celebration{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:32px;background:#0000ff;color:#fff;overflow:auto;isolation:isolate;text-align:center;font-family:var(--font);overscroll-behavior:contain}
.transfer-celebration:not([open]){display:none}.transfer-celebration[open]{display:grid;place-items:center;animation:celebration-enter .4s ease-out both}.transfer-celebration::backdrop{background:#0000ff}
.celebration-content{position:relative;z-index:1;width:min(100%,570px);padding:24px 0}.celebration-brand{font:700 10px/1.5 Consolas,monospace;letter-spacing:3px;color:#ffffffaa;margin:0 0 12px}.celebration-channel{display:inline-block;border-radius:25px;background:#ffffff18;font-size:11px;line-height:1.5;padding:7px 15px;color:#ffffffd9;margin:0}
.celebration-art{position:relative;width:185px;height:185px;display:grid;place-items:center;margin:40px auto 32px}.celebration-ring{position:absolute;inset:10px;border:1px solid #ffffff38;border-radius:50%;animation:celebration-ring 1.6s cubic-bezier(.18,.7,.2,1) both}.celebration-ring:nth-child(2){inset:-8px;animation-delay:.1s;border-color:#ffffff22}.celebration-ring:nth-child(3){inset:-28px;animation-delay:.2s;border-color:#ffffff12}.celebration-symbol{display:grid;place-items:center;width:118px;height:118px;background:#fff;border-radius:34px;box-shadow:0 0 65px #ffffff30;animation:celebration-symbol .8s cubic-bezier(.18,.9,.25,1.2) both}.celebration-symbol svg{display:block;width:65px;height:65px;fill:none;stroke:#0000ff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.celebration-check{stroke-dasharray:70;stroke-dashoffset:70;animation:celebration-check .5s ease-out .3s both}
.celebration-spark{position:absolute;left:50%;top:50%;width:5px;height:13px;border-radius:2px;background:#fff;opacity:0;--angle:calc(var(--i)*30deg);transform:rotate(var(--angle));animation:celebration-spark 1.25s cubic-bezier(.1,.6,.2,1) .15s both}
.transfer-celebration h2{font-size:clamp(38px,5.5vw,60px);font-weight:800;letter-spacing:-2px;line-height:1.3;margin:0 0 18px;animation:celebration-copy .6s ease-out .12s both}.celebration-message{font-size:22px;font-weight:700;line-height:1.6;margin:0 0 10px;animation:celebration-copy .6s ease-out .2s both}.celebration-detail{color:#ffffffbf;font-size:13px;line-height:1.9;margin:0 0 17px;animation:celebration-copy .6s ease-out .25s both}.celebration-files{font:11px/1.8 Consolas,var(--font);color:#ffffffa6;margin:0 0 32px}.celebration-confirm{display:block;width:min(100%,320px);margin:auto;background:white;color:#0000ff;border-radius:9px;padding:17px 22px;font:700 13px/1.6 var(--font);cursor:pointer}.celebration-confirm:hover{background:#e8edff}.celebration-confirm:focus-visible{outline:3px solid #fff;outline-offset:6px}.publisher-reminder{display:flex;align-items:center;gap:12px;padding:14px 28px;background:#eeeefe;color:#0000cc}.publisher-reminder>span{display:block;width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#0000ff;box-shadow:0 0 9px #0000ff66}.publisher-reminder strong{font-size:12px;font-weight:700;display:block;line-height:1.7}.publisher-reminder p{font-size:10px;line-height:1.8;color:#5d67a1;margin:3px 0 0}
@keyframes celebration-enter{from{opacity:0}to{opacity:1}}@keyframes celebration-symbol{0%{opacity:0;transform:translateY(24px) scale(.45) rotate(-12deg)}65%{opacity:1;transform:translateY(-3px) scale(1.08) rotate(3deg)}100%{opacity:1;transform:none}}@keyframes celebration-check{to{stroke-dashoffset:0}}@keyframes celebration-ring{from{opacity:0;transform:scale(.45)}35%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes celebration-spark{0%{opacity:0;transform:rotate(var(--angle)) translateY(-60px) scale(.4)}30%{opacity:.8}100%{opacity:0;transform:rotate(var(--angle)) translateY(-150px) scale(.65)}}@keyframes celebration-copy{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.transfer-celebration{padding:26px}.celebration-art{width:155px;height:155px;margin-top:32px;margin-bottom:26px}.celebration-symbol{width:98px;height:98px;border-radius:28px}.celebration-symbol svg{width:55px;height:55px}.transfer-celebration h2{font-size:40px;letter-spacing:-1px}.celebration-message{font-size:19px}.celebration-detail{font-size:12px}.publisher-reminder{padding:13px 20px}.publisher-reminder strong{font-size:11px}.publisher-reminder p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.transfer-celebration,.transfer-celebration *{animation:none!important;transition:none!important}.celebration-check{stroke-dashoffset:0}.celebration-spark{display:none}}
.roles button.role-unavailable,.roles button.role-unavailable[aria-pressed=true]{background:#e3e6eb;color:#8993a1;opacity:1;cursor:not-allowed}.roles button.role-unavailable .role-arrow{color:#a0a8b3}.roles button.role-unavailable>span:last-child{color:#7a8595;opacity:1}
.receive-finish-layer{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden}.finish-file{position:absolute;left:0;top:0;will-change:transform,opacity;filter:drop-shadow(0 18px 22px #122c4b30)}.finish-file svg{width:100%;height:100%;display:block}.finish-heading{position:absolute;top:clamp(90px,17vh,180px);left:20px;right:20px;text-align:center;opacity:0;color:#123257;text-shadow:0 2px 22px #fff,0 2px 40px #fff}.finish-heading>span{font-size:clamp(34px,5vw,60px);line-height:1.25;font-weight:800;letter-spacing:-1.8px}.finish-heading p{font-size:13px;line-height:1.7;margin:12px 0 0;font-weight:600}.receiving-finish .recipient .emoji-received,.receiving-finish .flight-token{opacity:0!important}.celebration-spark{display:none}

/* Selection is an outline/check; availability is a separate blue status pill. */
.channels button{position:relative;border:2px solid transparent;padding:13px;box-shadow:none}.channels button.available,.channels button.available:hover:not(:disabled),.channels button.available[aria-pressed=true]{background:var(--bg);color:var(--ink);box-shadow:none;isolation:auto}.channels button.available:after{display:none}.channels button[aria-pressed=true],.channels button.available[aria-pressed=true]{border-color:#1a355b;background:#dce7f7;box-shadow:0 3px 12px #1a355b15;color:#152d4e}.channels button[aria-pressed=true]>.channel-availability{color:#526d91}.channels button .channel-availability{padding:5px 7px;border-radius:5px;min-height:22px;line-height:1.2}.channels button.available>.channel-availability,.channels button.available[aria-pressed=true]>.channel-availability{background:#0000ff;color:white;display:flex;align-items:center;gap:5px;font-size:9px;animation:availability-pill 2.4s ease-in-out infinite}.channels button.available>.channel-availability:before{width:5px;height:5px;background:white;box-shadow:none}.channels button.available .channel-note,.channels button.available[aria-pressed=true] .channel-note{color:var(--muted)}.channel-choice-mark{position:absolute;right:5px;top:5px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#1a355b;color:#fff;font:700 10px/1 sans-serif}.channel-countdown{display:block;text-align:left;font:600 9px/1.6 Consolas,var(--font);color:var(--muted);white-space:nowrap;max-width:100%}.channels button.available .channel-countdown{color:#526d91}
@keyframes availability-pill{0%,100%{box-shadow:0 0 4px #0000ff33}50%{box-shadow:0 0 10px #0000ff88,0 0 18px #0000ff44}}
@media(max-width:760px){.channels button{padding:11px 7px}.channels button.available>.channel-availability,.channels button.available[aria-pressed=true]>.channel-availability{font-size:8px;padding:5px 4px;gap:0}.channels button.available>.channel-availability:before{display:none}.channel-countdown{font-size:8px;white-space:normal;line-height:1.5}.channel-choice-mark{right:3px;top:3px;width:13px;height:13px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.channels button.available>.channel-availability{animation:none!important}}
/* A real file batch grows in front of the viewer, then sways left to right. */
.transfer-celebration[data-kind=published]{background:radial-gradient(ellipse at 50% 38%,#254c8038,transparent 58%),var(--site-bg,#0d1420);color:var(--site-ink,#eaf0fa);padding:24px;overflow:hidden}.transfer-celebration[data-kind=published]::backdrop{background:var(--site-bg,#0d1420)}.transfer-celebration[data-kind=published] .celebration-content{width:min(100%,1050px);display:flex;flex-direction:column;align-items:center;padding:14px 0}.transfer-celebration[data-kind=published] .celebration-brand{color:var(--site-muted,#a2b2c9);font-size:10px;letter-spacing:2px;margin:0 0 12px}.transfer-celebration[data-kind=published] .celebration-channel{background:var(--site-raised,#213047);color:var(--site-muted,#a2b2c9);padding:7px 13px}.transfer-celebration[data-kind=published] .celebration-art{display:none}.publish-file-stage{position:relative;width:100%;height:310px;flex-shrink:0;margin:10px 0 20px;transform-origin:50% 50%;transition:height .4s ease,margin .4s ease;will-change:transform,opacity}.publish-file-card{position:absolute;top:50%;left:50%;width:var(--publish-card-width,170px);aspect-ratio:1/1.28;padding:18px 15px 15px;border-radius:13px;background:#f7faff;border:1px solid #d9e5f4;box-shadow:0 18px 38px #0003,0 3px 6px #0001;display:flex;flex-direction:column;justify-content:space-between;opacity:0;will-change:transform,opacity;color:#21344d;--file-accent:#4f79ad}.publish-file-card[data-kind=image]{--file-accent:#397ee4}.publish-file-card[data-kind=video]{--file-accent:#7e67d7}.publish-file-card[data-kind=audio]{--file-accent:#b78135}.publish-file-card[data-kind=pdf]{--file-accent:#c65c5c}.publish-file-card[data-kind=archive]{--file-accent:#9b794a}.publish-file-card[data-kind=text]{--file-accent:#3d8d83}.publish-type-art{height:120px;display:grid;place-items:center;background:color-mix(in srgb,var(--file-accent) 10%,#f7faff);border-radius:8px;flex:1;margin-bottom:16px}.publish-type-art svg{width:86px;height:86px;fill:none;stroke:var(--file-accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.publish-file-card strong{font-size:11px;font-weight:700;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.publish-file-card>span{font:700 9px/1.5 Consolas,monospace;letter-spacing:.8px;color:var(--file-accent);margin-top:6px}.publish-extra{position:absolute;bottom:0;left:50%;transform:translateX(-50%);color:var(--site-muted,#a2b2c9);font-size:11px;white-space:nowrap}.transfer-celebration[data-kind=published] h2{font-size:clamp(34px,4.7vw,52px);letter-spacing:-1.4px;margin:0 0 12px;animation:none}.transfer-celebration[data-kind=published] .celebration-message{font-size:16px;margin-bottom:9px;animation:none;color:var(--site-ink,#eaf0fa)}.transfer-celebration[data-kind=published] .celebration-detail{font-size:12px;color:var(--site-muted,#a2b2c9);animation:none;margin-bottom:12px}.transfer-celebration[data-kind=published] .celebration-files{color:var(--site-muted,#a2b2c9);margin-bottom:18px}.transfer-celebration[data-kind=published] .celebration-confirm{background:#0000ff;color:#fff;width:auto;min-width:210px;padding:13px 24px;font-size:12px}.transfer-celebration[data-kind=published][data-phase=ready] .publish-file-stage{height:65px;margin:0}.transfer-celebration[data-kind=published][data-phase=ready] h2{animation:publish-ready .4s ease-out both}
@keyframes publish-ready{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.transfer-celebration[data-kind=published]{padding:22px 16px}.publish-file-stage{height:265px;margin-bottom:22px}.publish-file-card{padding:12px;border-radius:10px}.publish-type-art{height:85px;margin-bottom:11px}.publish-type-art svg{width:66px;height:66px}.publish-file-card strong{font-size:10px}.transfer-celebration[data-kind=published] h2{font-size:36px}.transfer-celebration[data-kind=published] .celebration-detail{max-width:280px;font-size:11px}.transfer-celebration[data-kind=published] .celebration-message{font-size:15px}}
@media(prefers-reduced-motion:reduce){.publish-file-stage,.publish-file-card{will-change:auto;transition:none}.transfer-celebration[data-kind=published][data-phase=ready] h2{animation:none}}

/* Keep the page sharp: publishing is only a transparent file animation. */
.transfer-celebration[data-kind=published]{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;filter:none;pointer-events:none}
.transfer-celebration[data-kind=published]::backdrop{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.transfer-celebration[data-kind=published] .celebration-content{padding:0}
.transfer-celebration[data-kind=published] .celebration-content>:not(.publish-file-stage){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.transfer-celebration[data-kind=published] .publish-file-stage{margin:0;height:310px}
.transfer-celebration[data-kind=published] .publish-file-card{box-shadow:none}
.transfer-celebration[data-kind=published] .publish-extra{background:var(--site-bg,#0d1420);padding:5px 10px;border-radius:6px}
@media(max-width:600px){.transfer-celebration[data-kind=published] .publish-file-stage{height:265px}}

.delivery-finish-layer{position:fixed;inset:0;z-index:1002;overflow:hidden;pointer-events:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--site-ink,#eaf0fa);font-family:var(--font);isolation:isolate}
.delivery-heading{position:absolute;top:clamp(90px,18vh,180px);left:18px;right:18px;text-align:center;opacity:0;z-index:2}
.delivery-title{display:inline-block;font-size:clamp(30px,4.8vw,58px);font-weight:800;line-height:1.35;letter-spacing:-1.6px;padding:5px 14px;border-radius:9px;background:var(--site-bg,#0d1420)}
.delivery-detail,.delivery-reason{width:fit-content;max-width:min(650px,100%);margin:9px auto 0;padding:7px 12px;border-radius:7px;font-size:13px;line-height:1.8;overflow-wrap:anywhere;background:var(--site-bg,#0d1420);color:var(--site-muted,#a2b2c9)}
.delivery-reason{font-size:15px;color:var(--site-ink,#eaf0fa);max-width:min(650px,100%)}
.delivery-file{position:absolute;left:0;top:0;display:flex;flex-direction:column;justify-content:space-between;padding:16px 14px;border:1px solid #c7d8ee;border-radius:12px;background:#f7fbff;color:#213d64;opacity:0;will-change:transform,opacity}
.delivery-file-art{display:grid;place-items:center;flex:1;min-height:0;margin-bottom:13px;background:#e4eeff;border-radius:7px}.delivery-file-art svg{width:75%;height:75%;fill:none;stroke:#3869c6;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.delivery-file>strong{font-size:11px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delivery-file-count{font:10px/1.5 Consolas,monospace;color:#5d78a0;margin-top:5px}
.delivery-result{position:absolute;right:-13px;bottom:-13px;width:42px;height:42px;opacity:0;transform:scale(.5);transition:opacity .2s,transform .3s}.delivery-result circle{fill:#0000ff}.delivery-result path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.delivery-finish-layer[data-phase=interrupted] .delivery-result,.delivery-finish-layer[data-phase=confirmed] .delivery-result{opacity:1;transform:scale(1)}
.delivery-finish-layer[data-result=error] .delivery-result circle{fill:#b66843}.delivery-finish-layer[data-result=error] .delivery-file-art{background:#f2e6dc}.delivery-finish-layer[data-result=error] .delivery-file-art svg{stroke:#a46440}
.delivery-finish-layer[data-phase=revealing] .delivery-result{opacity:1;transform:scale(1)}
@media(max-width:600px){.delivery-heading{top:clamp(76px,14vh,120px);left:14px;right:14px}.delivery-title{font-size:clamp(27px,7.4vw,38px);letter-spacing:-.8px;padding:5px 10px}.delivery-detail{font-size:12px}.delivery-reason{font-size:13px;padding:8px 10px;line-height:1.8}.delivery-file{padding:11px 10px;border-radius:9px}.delivery-file-art{margin-bottom:9px}.delivery-file>strong{font-size:10px}.delivery-file-count{font-size:9px}.delivery-result{width:35px;height:35px;right:-8px;bottom:-8px}}
@media(prefers-reduced-motion:reduce){.delivery-finish-layer *{transition:none!important}.delivery-file{will-change:auto}}

.publishing-dock{position:sticky;top:0;z-index:85;background:#182e53;color:#e8f1ff;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px max(22px,calc((100vw - 1220px)/2));box-shadow:0 4px 18px #07192c22}.publishing-dock>div{display:flex;align-items:center;gap:14px}.publishing-dock i{width:8px;height:8px;background:#7fa9ff;border-radius:50%;box-shadow:0 0 10px #6495ff99;flex-shrink:0}.dock-title{font-size:13px;white-space:nowrap}.dock-note{font-size:10px;color:#afc4e4}.publishing-dock button{padding:10px 13px;font:600 11px var(--font);border-radius:6px;background:#304e7b;color:#eaf2ff}.publishing-dock .dock-stop{background:#243b5c;color:#b6c9e5}.publishing-dock .dock-receive{background:#91b4ff;color:#142c51}
.parallel-receive-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;border:0;margin:0;background:var(--site-bg,#0d1420);color:var(--site-ink,#eaf0fa);overflow:hidden}.parallel-receive-dialog:not([open]){display:none}.parallel-receive-dialog[open]{display:flex;flex-direction:column}.parallel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:78px;padding:14px 28px;background:var(--site-panel,#172232);border-bottom:1px solid var(--site-border,#33445d);flex-shrink:0}.parallel-head>div{display:flex;gap:15px;align-items:center}.parallel-head>div:first-child{align-items:flex-start;flex-direction:column;gap:5px}.parallel-head strong{font-size:14px;color:#98baff}.parallel-head span{font-size:11px;color:var(--site-muted,#a2b2c9)}.parallel-collapse{font:600 11px var(--font);border-radius:6px;padding:11px 14px;background:var(--site-raised,#213047);color:var(--site-ink,#eaf0fa)}.parallel-frame{width:100%;flex:1;min-height:0;border:0;background:var(--site-bg,#0d1420)}.parallel-open,.parallel-open body{overflow:hidden}.receiver-embedded .nav,.receiver-embedded .hero,.receiver-embedded .footer,.receiver-embedded #guide,.receiver-embedded .roles{display:none}.receiver-embedded .workspace .section-top{margin-bottom:8px}.receiver-embedded .wrap{width:min(1100px,calc(100% - 44px))}.receiver-embedded #main{padding-top:20px}.receiver-embedded .quick-facts{display:none}.receiver-embedded .operation{grid-template-columns:1fr}.receiver-embedded .flight-scene{height:280px;min-height:260px}.receiver-embedded .channel-panel{margin-top:18px}
html[data-theme=light] .parallel-head strong{color:#2c568f}html[data-theme=dark] .channels button[aria-pressed=true],html[data-theme=dark] .channels button.available[aria-pressed=true]{background:#283c57;color:#f1f6ff;border-color:#d5e4ff;box-shadow:0 0 0 1px #d5e4ff22}html[data-theme=dark] .channel-choice-mark{background:#d5e4ff;color:#20334e}html[data-theme=dark] .channels button.available .channel-countdown{color:#c4d6f1}html[data-theme=dark] .channels button[aria-pressed=true]>.channel-availability:not(:empty){color:#becfe7}html[data-theme=dark] .channels button.available[aria-pressed=true]>.channel-availability{color:#fff}
@media(max-width:700px){.publishing-dock{padding:12px 16px;flex-wrap:wrap;gap:10px}.dock-title{font-size:12px}.dock-note{display:none}.publishing-dock>div{gap:10px}.publishing-dock button{font-size:10px;padding:9px 10px}.parallel-head{min-height:88px;padding:12px 16px;gap:10px}.parallel-head>div{gap:8px}.parallel-head strong{font-size:11px}.parallel-head span{font-size:10px}.parallel-collapse{font-size:10px;padding:10px}.receiver-embedded .wrap{width:calc(100% - 30px)}}

/* Every active outgoing transfer and the independent incoming transfer has its own pane. */
.transfer-scenes{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:18px 22px;min-width:0}.transfer-scenes[data-count="2"],.transfer-scenes[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-scenes[data-count="3"],.transfer-scenes[data-count="5"],.transfer-scenes[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}.scene-tile{min-width:0;border:1px solid var(--site-border,#ccd9e8);border-radius:10px;overflow:hidden;background:var(--site-panel,#f7fbff);display:flex;flex-direction:column}.scene-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid var(--site-border,#ccd9e8);color:var(--site-ink,#19314f);flex-shrink:0}.scene-heading>div{display:flex;align-items:center;gap:10px;min-width:0}.scene-heading strong{font-size:11px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.scene-direction{font-size:10px;padding:5px 8px;border-radius:4px;background:#dce8ff;color:#315fa2;white-space:nowrap}.receiving-tile .scene-direction{background:#d6ebe9;color:#31685e}.scene-progress{font:11px Consolas,monospace;white-space:nowrap}.scene-canvas.flight-scene{height:270px;min-height:240px;flex:1}.scene-bottom{display:flex;justify-content:space-between;gap:12px;padding:12px 15px;font-size:10px;color:var(--site-muted,#62778f);flex-shrink:0}.scene-rate{font:11px Consolas,monospace}.parallel-frame{display:block;width:100%;height:520px;min-height:370px;flex:1;border:0}.parallel-state{font-size:10px;color:var(--site-muted,#62778f);white-space:nowrap}.publishing-dock .dock-receive{background:none;color:#bdcfed;font-size:10px;padding:0}.receiver-embedded .channel-panel{display:none}.receiver-embedded .operation-panel{padding:12px 16px}.receiver-embedded .operation-panel .section-top{display:none}.receiver-embedded .monitor-top{padding:10px 16px}.receiver-embedded .journey-heading{padding:14px 16px 0}.receiver-embedded .journey-heading h2{font-size:18px}.receiver-embedded .flight-scene{height:180px;min-height:180px}.receiver-embedded .journey-data{padding:12px 16px}.receiver-embedded .journey-details{display:none}.receiver-embedded .receive-options{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.receiver-embedded .receive-options select{padding:9px;font-size:10px;margin-top:6px}.receiver-embedded #disk-note{display:none}.receiver-embedded #start-receive{margin-top:12px;padding:12px 16px}.receiver-embedded .workspace{margin-top:0}.receiver-embedded .journey-terminal{margin-bottom:8px}.receiver-embedded #main{padding-top:10px}.receiver-embedded .wrap{width:calc(100% - 22px)}html[data-theme=dark] .scene-direction{background:#203d68;color:#b3ceff}html[data-theme=dark] .receiving-tile .scene-direction{background:#214640;color:#b9dfd8}
@media(max-width:1100px){.transfer-scenes[data-count="3"],.transfer-scenes[data-count="5"],.transfer-scenes[data-count="6"]{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-heading>div{gap:7px}.scene-heading strong{font-size:10px}}
@media(max-width:700px){.transfer-scenes,.transfer-scenes[data-count]{grid-template-columns:1fr;padding:12px;gap:12px}.scene-heading{padding:12px}.scene-canvas.flight-scene{height:250px;min-height:230px}.parallel-frame{height:540px}.publishing-dock .dock-receive{display:none}}

/* The transfer grid contains only scenes; all reception controls stay below channels. */
.parallel-controls{margin-top:18px;min-width:0;scroll-margin-top:85px}
.parallel-control-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.parallel-control-heading h3{font-size:16px;margin:0}.parallel-control-channel{font-size:12px;font-weight:700;background:var(--site-raised,#e3ebf7);color:var(--site-ink,#19314f);padding:7px 11px;border-radius:6px}
.parallel-controls .parallel-frame{display:block;width:100%;height:300px;min-height:220px;flex:none;border:0;background:transparent}
.parallel-notice{font-size:12px;line-height:1.8;color:var(--site-muted,#62778f);margin:0 0 12px}
.receiver-embedded #monitor,.receiver-embedded .skip,.receiver-embedded .channel-panel{display:none}
.receiver-embedded #main{padding:0}.receiver-embedded .wrap{width:100%}.receiver-embedded .workspace{margin:0}.receiver-embedded .operation{display:block}.receiver-embedded .operation-panel{padding:0;border:0;background:transparent;box-shadow:none}
.receiver-embedded #receive-panel{padding:0}.receiver-embedded #disk-note{display:block}.receiver-embedded .receive-options{margin-top:14px;grid-template-columns:1fr 1fr}.receiver-embedded .files{max-height:220px;overflow:auto}
.receiver-embedded .failure-panel{margin:0 0 15px}.receiver-embedded body{background:transparent}.receiver-embedded .nav,.receiver-embedded .hero,.receiver-embedded .footer{display:none}
@media(max-width:600px){.receiver-embedded .receive-options{grid-template-columns:1fr}.parallel-controls{scroll-margin-top:110px}}
.receiver-embedded,.receiver-embedded body{overflow:hidden}.receiver-embedded .downloads{max-height:220px;overflow:auto}

/* Device proportions and touch targets, loaded after the feature styles. */
.wrap{width:min(1320px,calc(100% - 64px))}
.nav{height:78px}.nav nav{gap:20px}.hero{padding:14px 0 24px}.hero h1{font-size:clamp(44px,4.4vw,64px);letter-spacing:-3px}
.journey-terminal.monitor{margin-bottom:24px;border-radius:16px}.journey-terminal .monitor-top{padding:14px 26px;font-size:12px}.journey-heading{padding:24px 28px 0;gap:20px}.journey-terminal h2{font-size:25px}.journey-terminal #status-detail{font-size:13px}
.flight-scene{height:clamp(260px,27vw,370px);min-height:260px}.journey-data{padding:16px 28px;gap:18px}.journey-terminal .speed-number{font-size:27px}.journey-terminal .speed-caption{font-size:12px}.journey-terminal .transferred{font-size:12px}.journey-terminal .leave{min-height:44px;font-size:12px}.journey-details{padding:15px 28px;font-size:12px}
.channel-panel{padding:24px;margin-bottom:20px}.section-top{margin-bottom:18px}.section-top h2{font-size:19px}.channels{gap:8px}.channels button{padding:13px 10px;min-height:94px}.channels strong{font-size:25px}.channels button .channel-availability{font-size:11px;min-height:25px}.channels button.available>.channel-availability,.channels button.available[aria-pressed=true]>.channel-availability{font-size:10px;padding:6px}.channels .channel-note{font-size:11px}.channel-countdown{font-size:10px}.helper,.server-state{font-size:12px}
.operation{grid-template-columns:230px minmax(0,1fr);grid-template-areas:'mood controls' 'facts facts';gap:20px;align-items:start}.operation-panel{grid-area:controls;padding:28px;min-width:0}.quick-facts{grid-area:facts;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-facts>div{padding:20px 24px}.quick-facts span,.quick-facts small{font-size:11px}.quick-facts strong{font-size:17px}
.roles button{padding:20px;min-height:125px}.roles strong{font-size:21px}.roles button>span:last-child{font-size:12px;line-height:1.7}.role-arrow{font-size:27px;margin-bottom:10px}
.button{min-height:46px;font-size:14px}.dropzone{padding:25px 20px}.dropzone p{font-size:13px}.dropzone .file-count{font-size:12px}.dropzone .button{min-height:44px;font-size:13px}.file-row,.file-row>small{font-size:12px}.speed-row label,.receive-options label,.publish-options label{font-size:13px}.receive-options select,.speed-row select,.publish-options select,.publish-options input,.note-editor input{min-height:46px;font-size:14px}.note-editor label{font-size:14px}.note-editor label span{font-size:11px}.note-editor .helper{font-size:12px}.receive-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.receive-options label{min-width:0}.receive-options select{margin-top:8px}.text-button{min-height:44px;font-size:13px}.download-file,.saved-file{font-size:13px}.parallel-controls .parallel-frame{min-height:245px}.parallel-control-heading h3{font-size:19px}.parallel-control-channel{font-size:13px}
.transfer-scenes{padding:18px;gap:14px}.scene-heading{padding:13px 14px}.scene-heading strong{font-size:12px}.scene-direction,.scene-progress,.scene-bottom,.scene-rate,.parallel-state{font-size:12px}.scene-canvas.flight-scene{height:clamp(230px,22vw,300px);min-height:230px}.scene-bottom{padding:13px 14px}
.publishing-dock{padding:12px max(24px,calc((100vw - 1320px)/2));gap:12px}.dock-title{font-size:14px}.dock-note,.publishing-dock .dock-receive{font-size:12px}.publishing-dock button{min-height:42px;font-size:12px}.publisher-reminder{padding:13px 26px}.publisher-reminder strong{font-size:13px}.publisher-reminder p{font-size:12px}
.guide{gap:48px;padding:40px 0 30px}.guide h2{font-size:32px}.guide-steps h3{font-size:14px}.guide-steps p,.guide summary,.guide details p{font-size:13px}.footer{font-size:12px}
.mood-board{grid-area:mood;min-width:0;padding:22px;background:var(--site-panel,var(--white));border-radius:12px}.mood-channel{font:600 11px/1.6 Consolas,var(--font);color:var(--site-muted,var(--muted));display:block;margin-bottom:5px}.mood-board h3{font-size:20px;margin:0 0 18px;line-height:1.5}.mood-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mood-buttons button{min-width:0;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px solid transparent;border-radius:10px;background:var(--site-raised,var(--bg));color:var(--site-ink,var(--ink));transition:transform .18s,background .18s}.mood-buttons img{width:30px;height:30px;display:block}.mood-buttons button>span{font:600 12px/1.3 Consolas,var(--font)}.mood-buttons button:hover:not(:disabled){transform:translateY(-3px)}.mood-buttons button[aria-pressed=true]{background:#234bc6;color:#fff;border-color:#8eaeff}.mood-buttons button:active:not(:disabled){transform:scale(.94)}.mood-total{font-size:12px;line-height:1.6;font-weight:600;margin:17px 0 4px}.mood-hint{font-size:11px;line-height:1.8;color:var(--site-muted,var(--muted));margin:0;min-height:20px;overflow-wrap:anywhere}
@media(min-width:1500px){.wrap{width:min(1440px,calc(100% - 96px))}.operation{grid-template-columns:250px minmax(0,1fr)}.flight-scene{height:390px}.scene-canvas.flight-scene{height:300px}.publishing-dock{padding-inline:max(32px,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.wrap{width:calc(100% - 40px)}.operation{grid-template-columns:200px minmax(0,1fr);gap:16px}.operation-panel{padding:22px}.mood-board{padding:18px}.channel-panel{padding:22px}.channels{grid-template-columns:repeat(5,minmax(0,1fr))}.channels button{min-height:83px;padding:11px 13px}.channels button.available>.channel-availability,.channels button.available[aria-pressed=true]>.channel-availability{font-size:11px}.roles button{padding:18px}.roles strong{font-size:20px}.roles button>span:last-child{font-size:11px}.dock-note{display:none}}
@media(max-width:760px){
 .wrap{width:calc(100% - 28px)}.nav{height:auto;min-height:70px;gap:12px;padding-block:12px;flex-wrap:wrap}.brand{font-size:19px;gap:9px}.brand img{width:30px;height:30px}.nav nav{gap:10px;font-size:12px;align-items:center}.nav nav a{padding:10px 0}.nav .site-theme-toggle{min-width:40px;width:40px;height:40px;min-height:40px}.hero{padding:10px 0 20px}.hero h1{font-size:clamp(40px,10.8vw,56px);letter-spacing:-2px}
 .journey-terminal.monitor{border-radius:12px;margin-bottom:18px}.journey-terminal .monitor-top{padding:12px 16px;gap:8px;font-size:11px;flex-wrap:wrap}.availability-badge{font-size:10px;padding:6px 8px}.journey-terminal .selected-note{padding:10px 16px;font-size:12px}.journey-heading{padding:19px 17px 0;gap:14px}.journey-terminal h2{font-size:22px}.journey-terminal #status-detail{font-size:12px;max-width:none;line-height:1.75}.journey-heading #progress-number{font-size:24px}.flight-scene{height:250px;min-height:250px}.journey-data{padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:center}.journey-data>div{flex-wrap:wrap;gap:5px 9px}.journey-terminal .speed-number{font-size:23px}.journey-terminal .speed-caption{font-size:11px}.journey-terminal .transferred{grid-row:2;grid-column:1;font-size:11px;overflow-wrap:anywhere}.journey-terminal .leave{grid-column:2;grid-row:1 / span 2;min-height:44px;padding:10px 12px;font-size:12px;gap:8px}.journey-details{padding:14px 16px;font-size:12px}.journey-details summary{gap:10px}.journey-details dl{gap:10px 18px}.publisher-reminder{padding:12px 16px;gap:10px}.publisher-reminder strong{font-size:12px}.publisher-reminder p{font-size:11px}.publication-detail{padding:10px 16px;font-size:12px}
 .channel-panel{padding:20px 16px;margin-bottom:16px}.section-top{gap:10px;margin-bottom:16px}.section-top h2{font-size:18px}.section-top>div{gap:9px}.server-state{font-size:11px}.channels{gap:7px}.channels button{padding:11px 6px;min-height:82px;gap:7px}.channels strong{font-size:23px}.channels button .channel-availability{font-size:10px;min-height:24px;padding:5px}.channels button.available>.channel-availability,.channels button.available[aria-pressed=true]>.channel-availability{font-size:10px;padding:5px 3px;gap:0}.channels button.available>.channel-availability:before{display:none}.channels .channel-note{font-size:10px}.channel-countdown{font-size:10px;line-height:1.5;white-space:normal}.channel-choice-mark{width:14px;height:14px;right:3px;top:3px}.helper{font-size:12px;line-height:1.8}
 .operation{grid-template-columns:minmax(0,1fr);grid-template-areas:'mood' 'controls' 'facts';gap:16px}.operation-panel{padding:21px 16px;border-radius:12px}.roles{gap:9px}.roles button{padding:17px 14px;min-height:114px}.roles strong{font-size:20px}.role-arrow{font-size:25px;margin-bottom:10px}.roles button>span:last-child{font-size:11px;line-height:1.65}.dropzone{padding:23px 15px;margin-top:20px}.dropzone h3{font-size:19px}.dropzone p{font-size:12px}.dropzone .file-count{font-size:11px}.dropzone .button{font-size:13px}.button{min-height:48px;font-size:14px;padding:14px 17px}.full{margin-top:18px}.file-row{padding:12px 11px;font-size:12px;gap:9px}.file-row>small{font-size:11px}.note-editor{margin-top:21px}.note-editor label{font-size:13px;flex-wrap:wrap}.note-editor input,.publish-options input{font-size:16px;min-height:48px}.note-editor button{min-height:44px;font-size:13px}.publish-options{margin-top:18px;gap:14px;grid-template-columns:1fr}.publish-options label,.receive-options label,.speed-row label{font-size:13px}.receive-options{grid-template-columns:1fr;gap:16px;margin-top:20px}.receive-options select,.speed-row select,.publish-options select{min-height:48px;font-size:14px;padding:13px 11px}.speed-row{display:block;margin-top:20px}.speed-row select{width:100%;margin-top:8px}.text-button{font-size:13px;min-height:44px}.share-panel{padding:18px}.download-file,.saved-file{font-size:13px;padding:13px}.quick-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-facts>div{padding:16px 12px}.quick-facts strong{font-size:15px}.quick-facts span{font-size:10px;margin-bottom:8px}.quick-facts small{font-size:11px;line-height:1.8}
 .mood-board{padding:18px 16px}.mood-board header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:13px}.mood-board h3{font-size:18px;margin:0}.mood-channel{font-size:11px;margin:0}.mood-buttons{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.mood-buttons button{min-height:72px;gap:8px}.mood-buttons img{width:28px;height:28px}.mood-total{font-size:12px;margin-top:12px}.mood-hint{font-size:12px}
 .transfer-scenes,.transfer-scenes[data-count]{grid-template-columns:minmax(0,1fr);padding:12px;gap:12px}.scene-canvas.flight-scene{height:235px;min-height:235px}.scene-heading{padding:12px;gap:10px}.scene-heading>div{gap:8px;flex-wrap:wrap}.scene-heading strong{font-size:12px}.scene-progress,.scene-direction{font-size:11px}.scene-bottom{padding:12px;font-size:12px}.scene-rate,.parallel-state{font-size:12px}.parallel-control-heading h3{font-size:18px}.parallel-controls{scroll-margin-top:110px}.parallel-control-channel{font-size:12px}.parallel-notice{font-size:13px}
 .publishing-dock{padding:10px 14px;gap:8px;flex-wrap:wrap}.publishing-dock>div{gap:9px;min-width:0}.dock-title{font-size:12px;white-space:normal;line-height:1.6}.publishing-dock button{min-height:42px;padding:10px 12px;font-size:12px}.publishing-dock .dock-receive{display:block;font-size:11px}.guide{padding:32px 0 24px;gap:22px}.guide h2{font-size:28px}.guide-steps{gap:14px}.guide-steps h3{font-size:13px}.guide-steps p{font-size:12px}.guide summary,.guide details p{font-size:13px}.footer{gap:16px;padding:22px 0;font-size:12px}
}
@media(max-width:480px){.mood-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mood-buttons button{min-height:64px;flex-direction:row;gap:12px}.mood-buttons img{width:28px;height:28px}.mood-buttons button>span{font-size:13px}.quick-facts{grid-template-columns:1fr}.quick-facts>div{display:grid;grid-template-columns:32px 85px minmax(0,1fr);align-items:center;gap:12px;padding:15px}.quick-facts span,.quick-facts small{margin:0}.quick-facts strong{font-size:14px}.quick-facts small{font-size:11px}.flight-scene{height:235px;min-height:235px}.hero h1{font-size:43px}.channels button{min-height:80px}.journey-terminal .failure-panel{margin:14px 16px 0}.guide-steps{grid-template-columns:1fr}.guide-steps article{display:grid;grid-template-columns:25px 90px minmax(0,1fr);gap:10px;align-items:baseline}.guide-steps h3,.guide-steps p{margin:0}.publishing-dock .dock-receive{display:none}}
@media(max-width:350px){.wrap{width:calc(100% - 20px)}.nav nav{gap:8px}.nav nav a{font-size:11px}.channel-panel,.operation-panel{padding:18px 12px}.channels{gap:5px}.channels button{padding-inline:3px}.channels strong{font-size:21px}.channels button.available>.channel-availability,.channels button.available[aria-pressed=true]>.channel-availability{font-size:9px;padding-inline:2px}.roles button{padding:16px 11px}.roles strong{font-size:18px}.mood-board{padding:16px 12px}.mood-buttons button{gap:8px}.quick-facts>div{grid-template-columns:28px 72px minmax(0,1fr);gap:8px}}
/* The independent receiver inherits readable controls at its available width. */
.receiver-embedded .wrap{width:100%}.receiver-embedded #main{padding:0}.receiver-embedded .workspace{margin:0}.receiver-embedded .operation{display:block}.receiver-embedded .operation-panel{padding:0;background:transparent}.receiver-embedded .receive-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.receiver-embedded .receive-options label{font-size:13px}.receiver-embedded .receive-options select{min-height:46px;font-size:14px;padding:12px;margin-top:8px}.receiver-embedded #disk-note{font-size:12px}.receiver-embedded #start-receive{min-height:48px;font-size:14px;padding:14px 16px}.receiver-embedded .cancel{font-size:13px;min-height:44px}.receiver-embedded .file-row{font-size:12px}.receiver-embedded .file-row small{font-size:11px}
@media(max-width:520px){.receiver-embedded .receive-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mood-buttons button{transition:none}}

.channels button>.channel-reactions{display:flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:100%;padding:0;min-height:0;background:none}.channel-reactions img{display:block;width:15px;height:15px;flex-shrink:0}.channels button.available>.channel-reactions:before{display:none}
@media(max-width:760px){.channels button>.channel-reactions{gap:3px}.channel-reactions img{width:14px;height:14px}}

/* Remaining admission slots and duration units share the same policy row. */
.duration-field{min-width:0}.duration-field>span{display:block;font-size:13px;font-weight:700;line-height:1.6}.duration-controls{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;min-width:0}.duration-controls input,.duration-controls select{min-width:0;max-width:100%}.channels .channel-countdown{white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@media(max-width:760px){.duration-controls{grid-template-columns:minmax(0,1fr) 100px}.duration-field>span{font-size:13px}}
