:root{color-scheme:light;--ink:#123047;--muted:#526578;--line:#d8e0e6;--paper:#f4f6f8;--action:#146954;--error:#a62d35;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none}body{margin:0;min-height:100dvh;display:flex;flex-direction:column}button,input,summary,a{touch-action:manipulation}button,summary{user-select:none;-webkit-user-select:none}button,input{font:inherit}button{cursor:pointer;min-height:48px;padding:12px 18px;border-radius:10px;border:0;font-weight:650;display:inline-flex;gap:10px;align-items:center;justify-content:center}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #368bea;outline-offset:4px}input:focus{outline:3px solid #b7d4ec;border-color:#316d9a}::selection{background:#b7d4ec;color:var(--ink)}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.topbar{background:var(--ink);color:white;padding:calc(12px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-size:18px;white-space:nowrap}.brand strong{font-weight:400;opacity:.8}.brand svg{width:32px;height:32px}nav{display:flex;gap:4px}.quiet{background:transparent;color:inherit;padding:10px 12px;font-size:14px}.primary{background:var(--action);color:white}.secondary{background:white;color:var(--ink);border:1px solid #bac8d3}.text-button{background:none;color:var(--action);padding-left:0;justify-content:flex-start}main{width:min(1100px,100%);margin:0 auto;padding:40px 24px 60px;flex:1}.entry{max-width:460px;margin:36px auto}h1{font-size:clamp(30px,5vw,42px);line-height:1.12;letter-spacing:-.025em;margin:0 0 18px;font-weight:700}h2{font-size:21px;margin:0 0 12px;letter-spacing:-.015em}p{line-height:1.55;margin:0 0 16px}.intro{font-size:18px;color:var(--muted);margin-bottom:32px}.muted{color:var(--muted)}.small{font-size:14px}label{display:block;font-weight:600;margin:20px 0 8px}input:not([type=file]){width:100%;min-height:52px;background:white;border:1px solid #b8c5cf;border-radius:9px;padding:12px 14px;font-size:16px;color:var(--ink);caret-color:var(--action)}input::placeholder{color:#617386}.entry form>.primary{width:100%;margin:28px 0 18px}.entry .os-input{font-size:28px;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:.03em}.os-input+p{margin-top:10px}.connection{color:var(--action);font-size:14px;display:flex;align-items:center;gap:8px;margin-bottom:24px}.connection:before{content:"";width:8px;height:8px;background:currentColor;border-radius:50%}.connection.disconnected{color:var(--muted)}.destination{border-top:1px solid var(--line);padding-top:22px;font-size:14px}.os-heading{position:sticky;top:0;z-index:2;background:var(--paper);padding:12px 0 24px;display:flex;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:32px}.os-heading h1{margin:0 0 6px;font-size:32px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.os-heading p{margin:0;color:var(--muted);font-size:14px}.os-heading button{flex:none}.capture-layout{display:grid;grid-template-columns:320px 1fr;gap:48px}.actions{display:grid;gap:12px;margin:24px 0 14px}.drive-note{display:flex;flex-direction:column;gap:8px;margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:14px}.drive-note span{color:var(--muted)}a{color:var(--action);text-underline-offset:4px}.review{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.review-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.review-heading h2{margin:0}.review-heading span{color:var(--muted);font-size:14px}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;text-align:center;color:var(--muted)}.empty svg{width:48px;height:48px;margin-bottom:18px}.empty p{font-weight:600;margin:0 0 4px}.empty span{font-size:14px}.file-row{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}.file-row img,.file-row video{width:76px;height:76px;object-fit:cover;border-radius:8px;background:var(--paper)}.file-row p{margin:0;overflow-wrap:anywhere;font-size:14px}.file-name{font-weight:650}.file-info{color:var(--muted);margin-top:4px!important}.file-state{margin-top:4px!important;color:var(--action)}.file-state.failed{color:var(--error)}.file-row button{padding:8px;min-width:44px;background:var(--paper);color:var(--ink)}.file-row progress{width:100%;height:8px;accent-color:var(--action)}.sendbar{border-top:1px solid var(--line);padding-top:20px;margin-top:16px}.sendbar p{font-size:14px;color:var(--muted)}.sendbar button{width:100%}.notice{background:#e2eee9;color:#124e3f;padding:15px 18px;border-radius:10px;overflow-wrap:anywhere}.notice.error{background:#f9e5e6;color:#8b2229}footer{width:min(1100px,100%);margin:auto;padding:18px 24px calc(22px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}dialog{border:0;border-radius:16px;padding:28px;max-width:min(460px,calc(100% - 32px));color:var(--ink);box-shadow:0 20px 60px #00000040}dialog::backdrop{background:#0b2039a8}.confirm-os{display:block;font-size:32px;overflow-wrap:anywhere;margin:18px 0;font-variant-numeric:tabular-nums}.dialog-actions{display:flex;gap:12px;margin-top:24px}.dialog-actions .primary{flex:1}.settings details{border-block:1px solid var(--line);padding:20px 0;margin:24px 0}summary{cursor:pointer;font-weight:650;min-height:44px;display:list-item;align-content:center}.settings details .secondary{margin-top:16px}.settings #connect{width:100%;margin-bottom:20px}.instructions p{font-size:14px;margin-top:16px}.instructions code{display:block;overflow-wrap:anywhere;font-size:13px}.camera-dialog{max-width:min(780px,calc(100% - 20px));width:100%;max-height:calc(100dvh - 20px);padding:18px;overflow:auto;background:var(--ink);color:white}.camera-header{position:sticky;top:-18px;background:var(--ink);z-index:2;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:0 0 12px}.camera-header h2{margin:0;overflow-wrap:anywhere;font-size:22px}.camera-header button{flex:none}.viewfinder{position:relative;background:#071a28;border-radius:10px;overflow:hidden}.viewfinder video{display:block;width:100%;max-height:55dvh;object-fit:contain;min-height:200px}.viewfinder p{position:absolute;bottom:0;left:0;background:#a62d35;color:white;padding:8px 14px;margin:0;border-radius:0 10px 0 0;font-variant-numeric:tabular-nums}.camera-dialog #camera-note{font-size:14px;padding-top:12px;margin-bottom:12px}.camera-actions{display:flex;gap:12px}.camera-actions button{flex:1}.camera-dialog>.small{margin:14px 0 0;color:#c4d2dd}[hidden]{display:none!important}@media(hover:hover) and (pointer:fine){.primary:hover{background:#0e5544}.secondary:hover{background:#e9eff3}.quiet:hover{background:#ffffff17}.text-button:hover{text-decoration:underline}}@media(max-width:760px){main{padding:24px 18px 40px}.entry{margin:24px auto}.capture-layout{grid-template-columns:1fr;gap:28px}.drive-note{margin-top:20px}.review{padding:20px}.os-heading{margin-bottom:24px;padding-bottom:20px}.os-heading h1{font-size:28px}.topbar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.brand{font-size:16px}.quiet{padding:8px;font-size:13px}#settings-open span{display:none}.file-row{grid-template-columns:60px 1fr auto;gap:10px}.file-row img,.file-row video{width:60px;height:60px}.dialog-actions{flex-direction:column}.os-heading p{max-width:230px}footer{padding-inline:18px}.camera-actions button{padding-inline:8px}.camera-header h2{font-size:19px}}@media(prefers-reduced-motion:no-preference){#file-list .file-row{animation:arrive .18s cubic-bezier(.16,1,.3,1)}@keyframes arrive{from{transform:translateY(5px)}to{transform:translateY(0)}}
