:root{color-scheme:dark;--bg:#101915;--panel:#18231d;--border:#2c3c32;--text:#ecf3ed;--muted:#a1b3a6;--green:#9aefb6;--accent:#80e8aa}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0%,#253d2a 0,transparent 48%),var(--bg);font-family:Segoe UI,system-ui,sans-serif;color:var(--text);font-size:15px;line-height:1.55}button,input{font:inherit}button,a,input{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green)}a{color:inherit;text-decoration:none}.shell{max-width:1220px;padding:0 36px;margin:auto}.masthead{display:flex;align-items:center;justify-content:space-between;padding:30px 0;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;font-size:26px;font-weight:750;line-height:1.2;letter-spacing:-1px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:5px}.brand-mark{background:var(--green);color:#193122;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:28px}.connection-pill{display:flex;align-items:center;gap:8px;font-size:12px;padding:8px 12px;border:1px solid var(--border);border-radius:100px;background:#18241d}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e6bd6b}.status-dot.online{background:var(--green);box-shadow:0 0 12px #9aefb650}.intro{display:flex;justify-content:space-between;align-items:center;gap:36px;padding:55px 0 44px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green);margin-bottom:12px}h1{font-size:clamp(34px,5vw,58px);line-height:1.08;font-weight:650;letter-spacing:-2.5px;margin:0 0 20px}h1 span{color:var(--green)}.intro p{max-width:510px;color:var(--muted);font-size:16px;margin:0}.card{background:linear-gradient(135deg,#1c2a21,var(--panel));border:1px solid var(--border);border-radius:16px;padding:27px;margin-bottom:20px;box-shadow:0 15px 35px #0000000d}.card h2,h2{font-size:21px;font-weight:600;letter-spacing:-.6px;margin:0 0 12px}.card p{margin:0 0 20px}.quiet{background:#142018}.pair-grid,.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pair-grid .card{padding:32px}.steps{padding:0;list-style:none;counter-reset:step;margin:23px 0}.steps li{counter-increment:step;position:relative;padding-left:43px;margin:22px 0}.steps li:before{content:counter(step);position:absolute;left:0;top:3px;background:#2b4030;color:var(--green);width:27px;height:27px;display:grid;place-items:center;border-radius:9px;font-size:12px}.steps b,.steps span{display:block}.steps span{font-size:13px;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin-bottom:8px;color:#c6d3ca}input:not([type=checkbox]){width:100%;border:1px solid #3b5041;background:#101c14;color:var(--text);padding:12px 14px;border-radius:8px;margin-bottom:16px}input::placeholder{color:#7c9685}.code-input{font-family:Consolas,monospace;text-transform:uppercase;letter-spacing:1px;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid transparent;border-radius:8px;padding:11px 18px;cursor:pointer;font-weight:600;font-size:13px;transition:background .15s}.button.primary{background:var(--green);color:#14291b}.button.primary:hover{background:#b7f8ce}.button.secondary{background:#223329;border-color:#3b5142;color:#dfebe1}.button.secondary:hover{background:#304735}.button.small{font-size:12px;padding:8px 13px}.button:disabled,.text-button:disabled{opacity:.45;cursor:not-allowed}.text-button{border:0;background:none;color:var(--green);padding:5px 0;cursor:pointer;font-size:12px;font-weight:600}.danger{color:#f8aca0}.muted{color:var(--muted);font-size:13px}.notice{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:16px 20px;border:1px solid #687245;border-radius:12px;background:#30351f;font-size:13px;overflow-wrap:anywhere}.icon-button{border:0;background:transparent;color:inherit;font-size:22px;cursor:pointer}.workspace-heading,.section-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.workspace-heading h2{margin-bottom:3px}.workspace-heading p{margin:0}.folder-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card.compact{padding:20px 24px}.folder-path{color:#dae5dc;font-family:Consolas,monospace;word-break:break-all;font-size:12px;margin-bottom:13px}.stat-row{display:flex;gap:45px;padding-top:10px}.stat-row strong{display:block;font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:650}.stat-row strong small{font-size:16px}.stat-row span{font-size:11px;color:var(--muted)}.section-header h2{margin:0}.badge{color:var(--muted);border:1px solid var(--border);font-size:11px;border-radius:20px;padding:5px 11px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{text-transform:uppercase;letter-spacing:1px;color:#809e8a;font-size:10px;font-weight:600;border-bottom:1px solid var(--border);padding:12px 8px}td{padding:18px 8px;border-bottom:1px solid #2c3c3275;vertical-align:middle}td b{font-size:13px;font-weight:550}td small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.filename{font-family:Consolas,monospace;font-size:10px;overflow-wrap:anywhere;color:var(--muted)}.row-actions{text-align:right;white-space:nowrap}.row-actions .text-button{margin-left:14px}.empty-state{padding:32px;text-align:center;color:var(--muted);font-size:13px}.retention{display:grid;grid-template-columns:1fr 1fr;gap:45px}.retention-controls input[type=number]{max-width:120px;padding:8px 12px}.check-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:400}.check-label input{accent-color:var(--green);margin-top:4px}.button-row{display:flex;align-items:center;gap:16px;margin-top:18px}progress{width:100%;height:9px;appearance:none;border:0;background:#2a3c30;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:#2a3c30}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}.progress-meta{display:flex;justify-content:space-between;font-size:12px;margin-top:7px;color:var(--muted)}.progress-meta b{color:var(--green)}.current-file{font-family:Consolas,monospace;font-size:11px;color:var(--muted);margin-top:15px;word-break:break-all}.waiting{max-width:680px;margin:0 auto 70px;text-align:center}.waiting .status-dot{margin-bottom:15px}.modal-overlay{position:fixed;inset:0;display:grid;place-items:center;background:#0009;padding:20px;z-index:1000}.dialog{max-width:550px;width:100%;background:#1b2b20;border:1px solid #43624d;border-radius:18px;box-shadow:0 25px 90px #0007;padding:32px}.dialog .muted{margin-top:20px}.dialog p{font-size:14px}.dialog .filename{padding:12px;background:#101d14;border-radius:7px}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0 35px;border-top:1px solid var(--border);font-size:10px;letter-spacing:.5px;color:#799383}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#blazor-error-ui{display:none;background:#6d381f;color:#fff;padding:12px 20px;position:fixed;bottom:0;width:100%;z-index:2000}#blazor-error-ui a{text-decoration:underline}@media(max-width:800px){.shell{padding:0 22px}.intro{padding:38px 0}.pair-grid,.action-grid,.folder-grid,.retention{grid-template-columns:1fr;gap:0}.card{padding:22px}.retention{gap:18px}.intro p{font-size:14px}.stat-row{gap:45px}.row-actions{min-width:150px}}@media(max-width:540px){.shell{padding:0 16px}.masthead{padding:20px 0}.brand{font-size:23px}.brand small{font-size:7px;letter-spacing:1px}.brand-mark{width:40px;height:40px}.connection-pill{max-width:145px;overflow:hidden;white-space:nowrap}.intro{padding:34px 0}h1{letter-spacing:-1.5px;font-size:42px}.pair-grid .card{padding:23px}.workspace-heading{align-items:flex-start}.workspace-heading h2{font-size:18px}.button-row{flex-wrap:wrap}footer{flex-direction:column;gap:5px}.code-input{font-size:12px;letter-spacing:0}}

/* Independent product branding and public publisher contact. */
.brand small{font-size:11px;letter-spacing:0;font-weight:400}
.brand-mark{background:none;flex-shrink:0}
.independent-note{font-size:14px;line-height:1.5;margin:20px 0 0;color:var(--text)}
.save-art{width:220px;flex-shrink:0;text-align:center}
.save-art img{display:block;width:170px;height:170px;margin:0 auto 12px}
.save-art span{color:var(--muted);font-size:12px}
.publisher-notice{padding-top:22px;padding-bottom:32px;font-size:14px;border-top:1px solid var(--border)}
.publisher-notice p{margin:0 0 10px}
.affiliation-notice{font-weight:600;color:var(--text)}
.publisher-contact{display:flex;gap:10px 24px;flex-wrap:wrap;overflow-wrap:anywhere}
.publisher-contact a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.configuration-notice{color:#e6bd6b}
@media(max-width:800px){.save-art{width:170px}.save-art img{width:145px;height:145px}}
@media(max-width:540px){.masthead{align-items:flex-start;flex-direction:column;gap:15px}.brand{font-size:24px}.brand small{font-size:10px;letter-spacing:0}.save-art{display:none}.intro h1{font-size:42px}.independent-note{font-size:13px}.publisher-notice{font-size:13px}}

/* The Windows companion download stays visible before and after pairing. */
.download-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.companion-download .download-heading p{margin:0 0 12px;max-width:650px}
.download-requirements{font-size:12px;color:var(--muted)}
.download-action{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:320px;text-align:center}
.download-action .button{white-space:normal;text-align:center}
.download-unavailable{opacity:.65;cursor:default}
.download-instructions{border-top:1px solid var(--border);margin-top:12px;padding-top:16px;font-size:14px}
.download-instructions summary{cursor:pointer;color:var(--green);font-weight:600}
.download-instructions ol{padding-left:22px;margin:16px 0}
.download-instructions li{margin:10px 0}
.download-instructions code{color:var(--text);overflow-wrap:anywhere}
.companion-download .download-instructions p{margin:0}
@media(max-width:800px){.download-heading{grid-template-columns:1fr;gap:12px}.download-action{align-items:flex-start;text-align:left;max-width:none}.download-action .button{width:100%;justify-content:center}}

/* Connection recovery uses a small banner while the workspace remains readable. */
.connection-banner[hidden]{display:none}
.connection-banner{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(850px,calc(100% - 32px));z-index:2500;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:#223329;border:1px solid #7da38a;border-radius:12px;box-shadow:0 8px 30px #0005}
.connection-banner p{margin:0;font-size:13px;color:var(--text)}
.connection-banner-actions{display:flex;gap:10px;flex-shrink:0}
body.connection-lost{padding-bottom:112px}
@media(max-width:650px){.connection-banner{align-items:flex-start;flex-direction:column;gap:12px;bottom:10px}.connection-banner-actions{flex-wrap:wrap}body.connection-lost{padding-bottom:175px}}

/* The supplied CoHo Appz image carries the publisher branding. */
.masthead{flex-wrap:wrap;gap:18px}
.brand{gap:20px;max-width:100%;min-width:0}
.brand>span{min-width:0;overflow-wrap:anywhere}
.brand-logo{display:block;width:132px;height:132px;object-fit:contain;border-radius:12px;flex-shrink:0}
.publisher-brand{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.publisher-logo{display:block;width:88px;height:88px;object-fit:contain;border-radius:8px;flex-shrink:0}
@media(max-width:800px){.brand-logo{width:108px;height:108px}}
@media(max-width:540px){.brand{gap:14px;font-size:24px}.brand-logo{width:96px;height:96px}.brand small{font-size:11px;line-height:1.5}}
