@import "https://fonts.googleapis.com/css2?family=Albert+Sans:wght@400;500;600;700&family=Averia+Serif+Libre:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap";:root{--bg:#fbf9f3;--surface-secondary:#f8f5ed;--surface-tertiary:#f5f1e8;--surface-elevated:#fff;--panel-bg:#fff;--panel-border:#efebdf;--fg:#333;--fg-secondary:#7b7a79;--muted:#a6a4a0;--placeholder:#b3b1ac;--border:#dbd7cd;--border-subtle:#f5f1e8;--accent:#ff6900;--accent-hover:#f54900;--accent-active:#ca3500;--accent-soft:#ff69001a;--accent-ring:#ff89043d;--success:#10b981;--success-soft:#ecfdf5;--error:#ef4444;--error-soft:#fef2f2;--font-display:"Averia Serif Libre", Georgia, serif;--font-body:"Albert Sans", system-ui, -apple-system, sans-serif;--radius:8px;--radius-lg:20px;--radius-pill:48px;--shadow-100:0 1px 4px #00000014;--shadow-200:0 1px 4px #0000001a, 0 0 0 1px #0000000d;--track:#0000000f;--track-hover:#0000000a}@media (prefers-color-scheme:dark){:root{--bg:#161616;--surface-secondary:#333;--surface-tertiary:#292929;--surface-elevated:#000;--panel-bg:#1f1f1f;--panel-border:#292929;--fg:#efebdf;--fg-secondary:#878684;--muted:#696968;--placeholder:#5d5d5d;--border:#5d5d5d;--border-subtle:#292929;--accent:#ff8904;--accent-hover:#ff6900;--accent-active:#f54900;--accent-soft:#ff69002e;--accent-ring:#ffb86a47;--success:#34d399;--success-soft:#064e3b;--error:#f87171;--error-soft:#7f1d1d;--shadow-100:0 1px 4px #0000004d;--shadow-200:0 1px 4px #00000059, 0 0 0 1px #0003;--track:#ffffff14;--track-hover:#ffffff0f}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.top-accent{background:linear-gradient(in oklab 90deg, var(--accent) 0%, var(--accent) 40%, var(--bg) 90%);height:2px}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;height:48px;padding:0 48px;display:flex}.header-left{align-items:center;gap:12px;display:flex}.header-nav{gap:2px;display:flex}.nav-btn{width:28px;height:28px;color:var(--fg-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.nav-btn:hover:not(:disabled){background:var(--track);color:var(--fg)}.nav-btn:disabled{opacity:.2;cursor:default}.header-brand{align-items:center;gap:8px;display:flex}.header h1{font-family:var(--font-display);color:var(--fg);letter-spacing:-.01em;font-size:17px;font-weight:700}.header-divider{background:var(--border);width:1px;height:14px}.header-sub{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:500;text-decoration:none}.header-sub:hover{color:var(--accent);text-decoration:none}.connection-status{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;line-height:1;display:flex}.connection-status.connected{color:var(--success);background:var(--success-soft)}.connection-status.disconnected{color:var(--muted);background:var(--track)}.connection-dot{border-radius:50%;width:5px;height:5px;position:relative}.connection-dot:after{content:"";border-radius:50%;animation:1s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:0}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.connected .connection-dot,.connected .connection-dot:after{background:var(--success)}.disconnected .connection-dot{background:var(--muted)}.disconnected .connection-dot:after{animation:none}.auto-detected-label{color:var(--success);font-size:12px;font-weight:500}.wizard{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.step{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:0 48px;animation:.3s ease-out both stepReveal;display:flex;overflow-y:auto}.step:not(.welcome-step):not(.done-step)>*{width:100%;max-width:560px}@keyframes stepReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step:has(.step-flow){justify-content:flex-start;min-height:0;overflow:hidden}.step-eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;padding-top:32px;font-size:11px;font-weight:600}.step h2{font-family:var(--font-display);color:var(--fg);letter-spacing:-.02em;margin-bottom:16px;font-size:26px;font-weight:600;line-height:1.15}.step p{color:var(--fg-secondary);margin-bottom:14px}.step p strong{color:var(--fg);font-weight:600}.lead{color:var(--fg-secondary);font-size:15px;line-height:1.65}.hint{color:var(--muted);font-size:13px}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius-pill);font-family:var(--font-body);cursor:pointer;border:none;justify-content:center;align-self:flex-start;align-items:center;gap:8px;width:auto;padding:13px 28px;font-size:15px;font-weight:600;line-height:1;transition:background .15s;display:inline-flex}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{background:var(--accent-active)}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-secondary{color:var(--fg-secondary);border:1px solid var(--border);border-radius:var(--radius-pill);font-family:var(--font-body);cursor:pointer;background:0 0;align-items:center;padding:12px 24px;font-size:15px;font-weight:500;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.btn-secondary:hover{background:var(--surface-secondary);border-color:var(--fg-secondary)}.welcome-step{justify-content:center;align-items:center}.welcome-layout{align-items:center;gap:56px;max-width:820px;display:flex}.welcome-text{flex-direction:column;flex:1;gap:8px;display:flex}.welcome-text .step-eyebrow{letter-spacing:.06em;margin-bottom:0;padding-top:0;font-size:11px}.welcome-text h2{letter-spacing:-.02em;color:var(--fg);margin-bottom:0;font-size:36px;font-weight:700;line-height:1.05}.welcome-lead{color:var(--fg-secondary);max-width:360px;font-size:15px;line-height:1.65}.welcome-device{flex-shrink:0}.kindle-device{justify-content:center;display:flex}.kindle-bezel{background:#38342e;border-radius:16px;width:180px;padding:12px 12px 0}.kindle-screen{aspect-ratio:3/4;background:#e6e2d8;border-radius:3px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.kindle-chin{height:18px}.kindle-screen-content{width:100%;padding:12px 10px}.kindle-line{background:#0000000f;border-radius:1px;height:2px;margin-bottom:5px}.kindle-line:last-child{margin-bottom:0}.kindle-line.w80{width:80%}.kindle-line.w60{width:60%}.kindle-line.w90{width:90%}.kindle-line.w45{width:45%}.kindle-line.w75{width:75%}.kindle-line.w55{width:55%}.kindle-line.w85{width:85%}.kindle-screen-hero{text-align:center;color:#4a4640}.hero-logo{object-fit:contain;width:44px;height:44px;margin:0 auto 6px;display:block}.hero-label{font-family:var(--font-display);font-size:11px;font-weight:600;line-height:1.3}.select-kindle-box{border:2px dashed var(--border);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:20px;margin:16px 0;padding:20px;transition:border-color .15s,background .15s;display:flex}.select-kindle-box:hover{border-color:var(--accent);background:var(--accent-soft)}.select-kindle-device .kindle-bezel{border-radius:6px;width:50px;padding:4px 4px 0}.select-kindle-device .kindle-chin{height:6px}.select-kindle-device .kindle-line{height:1.5px;margin-bottom:3px}.select-kindle-label strong{color:var(--fg);margin-bottom:2px;font-size:15px;display:block}.select-kindle-label span{color:var(--muted);font-size:13px}.detection-step{justify-content:center}.detection-content{flex-direction:column;max-width:560px;display:flex}.detection-content .step-eyebrow{padding-top:0}.info-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-100);margin-bottom:16px;overflow:hidden}.info-row{justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.info-row+.info-row{border-top:1px solid var(--border)}.info-row .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.info-row .value{color:var(--fg);font-size:15px;font-weight:500}.value-accent{font-weight:600;color:var(--accent)!important}.value-success{font-weight:600;color:var(--success)!important}.auto-detected{margin-bottom:8px}.auto-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--success);background:var(--success-soft);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.no-method{background:var(--error-soft);border:1px solid color-mix(in srgb, var(--error) 25%, transparent);border-radius:var(--radius-lg);text-align:center;padding:16px}.no-method strong{color:var(--error)}.step-flow{flex-direction:column;flex:1;width:100%;max-width:560px;min-height:0;display:flex;overflow:hidden}.step-flow .manual-steps{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding:32px 0 36px;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 32px calc(100% - 36px),#0000 100%);mask-image:linear-gradient(#0000 0%,#000 32px calc(100% - 36px),#0000 100%)}.step-flow .manual-steps::-webkit-scrollbar{display:none}.step-flow-bottom{flex-shrink:0;padding:16px 0 28px}.bottom-slot{flex-direction:column;justify-content:center;height:80px;display:flex}.step-flow-reconnect{flex-direction:column;align-items:center;display:flex}.step-flow-waiting{color:var(--muted);text-align:center;padding:14px 0 0;font-size:13px;font-weight:500;animation:2s ease-in-out infinite pulse}.step-flow-reconnect-hint{color:var(--muted);padding:6px 0 8px;font-size:12px}.btn-reselect{font-family:var(--font-body);color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;font-weight:500;text-decoration:underline}.btn-reselect:hover{color:var(--accent-hover)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.step-flow .step-flow-bottom .btn-primary{align-self:stretch;width:100%}.auto-advance{flex-direction:column;align-items:center;gap:6px;padding:14px 0;display:flex}.auto-advance-bar{background:var(--track);border-radius:2px;width:120px;height:3px;position:relative;overflow:hidden}.auto-advance-bar:after{content:"";background:var(--success);transform-origin:0;border-radius:2px;animation:1.5s ease-out forwards autoAdvanceFill;position:absolute;inset:0}@keyframes autoAdvanceFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.auto-advance-label{color:var(--muted);font-size:12px;font-weight:500}.manual-steps{margin-top:8px}.manual-step{opacity:.15;gap:10px;padding:10px 0;transition:opacity .3s;display:flex}.manual-step+.manual-step{border-top:1px solid var(--border)}.manual-step.active{opacity:1}.manual-step.completed{opacity:.4}.step-number{border:1.5px solid var(--border);width:22px;height:22px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding-top:1px;font-size:11px;font-weight:600;line-height:1;transition:all .2s;display:flex}.manual-step.active .step-number{background:var(--accent);color:#fff;border:none}.manual-step.completed .step-number{background:var(--success);color:#fff;border:none}.step-content{flex:1;min-width:0}.step-instruction{color:var(--fg);margin-bottom:2px;font-size:15px;font-weight:600;line-height:1.4}.step-details{color:var(--muted);white-space:pre-line;font-size:13px;line-height:1.55}.progress-section{margin:8px 0}.progress-bar{background:var(--track);border-radius:2px;width:100%;height:3px;overflow:hidden}.progress-fill{background:var(--accent);transform-origin:0;border-radius:2px;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1)}.progress-msg{color:var(--muted);margin-top:6px;font-size:12px}.transition-step{justify-content:center}.transition-content{flex-direction:column;max-width:480px;display:flex}.transition-content .step-eyebrow{padding-top:0}.transition-content p{font-size:15px;line-height:1.65}.bridge-setup-step{justify-content:center}.bridge-setup{flex-direction:column;align-items:flex-start;max-width:420px;display:flex}.bridge-logo{object-fit:contain;width:48px;height:48px;margin-bottom:16px}.bridge-desc{color:var(--fg-secondary);font-size:15px;line-height:1.65}.bridge-actions{justify-content:space-between;align-items:center;width:100%;display:flex}.btn-skip{font-family:var(--font-body);color:var(--muted);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:13px}.btn-skip:hover{color:var(--fg-secondary)}.token-input{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-100);width:100%;margin:4px 0 16px;padding:20px}.token-input label{color:var(--fg);margin-bottom:2px;font-size:13px;font-weight:600;display:block}.token-optional{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.token-optional a{color:var(--accent);font-weight:500}.token-input input{border:1px solid var(--border);border-radius:var(--radius-pill);width:100%;font-size:15px;font-family:var(--font-body);color:var(--fg);background:var(--surface-elevated);padding:12px 20px}.token-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.token-input input::placeholder{color:var(--placeholder)}.error-banner{background:var(--error-soft);border:1px solid color-mix(in srgb, var(--error) 25%, transparent);border-radius:var(--radius-lg);color:var(--error);align-items:flex-start;gap:10px;margin-bottom:16px;padding:14px 20px;font-size:13px;display:flex}.error-icon{background:var(--error);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:flex}.error-text{flex:1;line-height:1.5}.dismiss{color:var(--error);cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;margin-left:auto;font-size:17px}.dismiss:hover{opacity:1}.warning-banner{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:var(--radius-lg);color:var(--fg-secondary);margin-bottom:16px;padding:14px 20px;font-size:13px;line-height:1.6}.success-msg{color:var(--success);font-weight:500}.done-step{justify-content:center;align-items:center}.done-step .welcome-layout{gap:48px;max-width:780px}.done-token{width:100%;max-width:780px;margin-top:16px}.done-celebration{flex-shrink:0}.done-checklist{flex-direction:column;gap:6px;margin:4px 0 20px;display:flex}.done-check{color:var(--fg-secondary);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.done-check-icon{color:var(--success);font-size:11px;font-weight:700}.done-actions,.verify-failed-actions{align-items:center;gap:12px;display:flex}.failure-status{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-100);flex-direction:column;gap:8px;margin:4px 0 20px;padding:16px 20px;display:flex}.failure-item{align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.failure-item-success{color:var(--fg-secondary)}.failure-item-success .failure-icon{color:var(--success)}.failure-item-error,.failure-item-error .failure-icon{color:var(--error)}.failure-icon{font-size:11px;font-weight:700}.failure-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.troubleshooting{margin-top:6px}.troubleshooting-toggle{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:2px 0;font-size:12px;font-weight:500;text-decoration:underline}.troubleshooting-toggle:hover{color:var(--accent-hover)}.troubleshooting-body{background:var(--accent-soft);border-radius:var(--radius);color:var(--fg-secondary);white-space:pre-line;border-left:none;margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.55}
