@import "https://fonts.googleapis.com/css2?family=Literata:opsz,wght@7..72,400..800&family=Figtree:wght@400;500;600;700&display=swap";:root{--bg:#f4f1ea;--fg:#1e1c18;--fg-secondary:#6b6660;--muted:#a09a92;--border:#0000000f;--accent:#d06000;--accent-hover:#b85400;--accent-soft:#d060000f;--accent-ring:#d060001f;--success:#2d8a56;--success-soft:#2d8a5612;--error:#c43d2f;--error-soft:#c43d2f0d;--font-display:"Literata", Georgia, serif;--font-body:"Figtree", system-ui, sans-serif;--radius:8px;--radius-lg:10px}*,: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.65}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.top-accent{background:linear-gradient(in oklab 90deg, oklab(66.7% .119 .135) 0%, oklab(73.9% .068 .116) 30%, oklab(95.9% .0004 .01) 70%);height:4px}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{border-bottom:1px solid #0000000f;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:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.nav-btn:hover:not(:disabled){color:var(--fg);background:#0000000d}.nav-btn:disabled{opacity:.2;cursor:default}.header-brand{align-items:center;gap:8px;display:flex}.header h1{font-family:var(--font-display);color:#3d3830;font-size:17px;font-weight:700}.header-divider{background:#0000001f;width:1px;height:14px}.header-sub{color:#a09a92;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:16px;align-items:center;gap:6px;padding:3px 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:#00000008}.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:28px;font-weight:700;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;font-family:var(--font-body);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;gap:8px;width:auto;padding:10px 24px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{background:#a34b00}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-secondary{color:var(--fg-secondary);border-radius:var(--radius-lg);font-family:var(--font-body);cursor:pointer;background:0 0;border:1.5px solid #0000001f;align-items:center;padding:11px 24px;font-size:14px;font-weight:500;transition:background .15s;display:inline-flex}.btn-secondary:hover{background:#00000008}.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;color:#d06000;margin-bottom:0;padding-top:0;font-size:11px}.welcome-text h2{letter-spacing:-.035em;color:#1e1c18;margin-bottom:0;font-size:50px;font-weight:800;line-height:1}.welcome-lead{color:#8a847c;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-radius:var(--radius-lg);cursor:pointer;border:2px dashed #0000001a;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:14px;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{border-radius:var(--radius-lg);background:#ffffff80;border:1px solid #0000000f;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:14px;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:4px;padding:3px 10px;font-size:11px;font-weight:600}.no-method{background:var(--error-soft);border-radius:var(--radius-lg);text-align:center;border:1px solid #c43d2f1a;padding:16px}.no-method strong{color:var(--error)}.nosebleed-models{flex-wrap:wrap;gap:8px;margin:12px 0 16px;display:flex}.model-chip{background:#fff6;border:1px solid #00000014;border-radius:20px;padding:4px 14px;font-size:13px;font-weight:500}.nosebleed-buttons{gap:12px;display:flex}.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:#0000000f;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{width:22px;height:22px;color:var(--muted);border:1.5px solid #0000001a;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:14px;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:#0000000f;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{border-radius:var(--radius-lg);background:#fff6;border:1px solid #0000000f;width:100%;margin:4px 0 16px;padding:16px}.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-radius:var(--radius);width:100%;font-size:14px;font-family:var(--font-body);color:var(--fg);background:var(--bg);border:1px solid #00000014;padding:10px 12px}.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(--muted)}.error-banner{background:var(--error-soft);border-radius:var(--radius);color:var(--error);border:1px solid #c43d2f1f;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 16px;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:16px}.dismiss:hover{opacity:1}.warning-banner{border-radius:var(--radius);color:var(--fg-secondary);background:#d060000d;border:1px solid #d0600026;margin-bottom:16px;padding:12px 16px;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(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;margin:4px 0 20px;padding:12px 14px;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}
