:root{--color-bg: #faf6f1;--color-surface: #fffbf7;--color-text: #2d2926;--color-text-muted: #7a716b;--color-primary: #c4725a;--color-primary-hover: #a85d47;--color-error: #b54444;--color-border: #e6ddd4;--color-accent: #8a9a7b;--radius: 12px;--radius-lg: 16px;--max-width: 420px;--font-heading: Georgia, "Times New Roman", serif;--font-body: system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}h1,h2,h3{font-family:var(--font-heading)}#root{min-height:100vh}.auth-page{max-width:var(--max-width);margin:80px auto;padding:0 20px}.auth-page h1{font-size:1.75rem;margin-bottom:24px}.auth-page form{display:flex;flex-direction:column;gap:16px}.auth-page label{display:flex;flex-direction:column;gap:4px;font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.auth-page input{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:inherit;color:var(--color-text);background:var(--color-surface)}.auth-page input:focus{outline:2px solid var(--color-primary);outline-offset:-1px;border-color:transparent}.auth-link{margin-top:16px;font-size:.875rem;color:var(--color-text-muted)}.auth-link a{color:var(--color-primary);text-decoration:none}.auth-link a:hover{text-decoration:underline}.back-to-home{display:inline-block;margin-bottom:24px;font-size:.875rem;color:var(--color-text-muted);text-decoration:none}.back-to-home:hover{color:var(--color-primary)}button{padding:10px 20px;border:none;border-radius:var(--radius);font-size:1rem;font-family:inherit;font-weight:500;cursor:pointer;background:var(--color-primary);color:#fff;transition:background .15s}button:hover:not(:disabled){background:var(--color-primary-hover)}button:disabled{opacity:.6;cursor:not-allowed}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.app-name{font-weight:600;font-size:1.1rem}.logout-btn{background:transparent;color:var(--color-text-muted);font-size:.875rem;padding:6px 12px}.logout-btn:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.app-main{flex:1;padding:20px}.app-main:has(.chat-container){padding:0;overflow:hidden}.page-center{max-width:var(--max-width);margin:40px auto;text-align:center}.page-center h2{font-size:1.5rem;margin-bottom:12px}.pairing-code{font-size:2rem;font-weight:700;letter-spacing:.15em;font-family:monospace;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius);padding:16px;margin:16px 0;-webkit-user-select:all;user-select:all}.pairing-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;text-align:center}.pairing-section h3{font-size:1.1rem;margin-bottom:8px}.pairing-section p{color:var(--color-text-muted);font-size:.9rem;margin-bottom:16px}.divider{color:var(--color-text-muted);font-size:.875rem;margin:20px 0}.inline-form{display:flex;gap:8px}.inline-form input{flex:1;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:monospace;text-align:center;letter-spacing:.1em}.inline-form input:focus{outline:2px solid var(--color-primary);outline-offset:-1px;border-color:transparent}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 53px);max-width:720px;margin:0 auto;padding:0}.chat-messages{flex:1;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:12px}.chat-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:1.1rem}.chat-bubble{max-width:80%;padding:10px 14px;border-radius:16px;line-height:1.5;font-size:.95rem;white-space:pre-wrap;word-wrap:break-word}.chat-bubble-user{align-self:flex-end;background:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.chat-bubble-assistant{align-self:flex-start;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-bottom-left-radius:4px}.chat-input-bar{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border);background:var(--color-surface)}.chat-textarea{flex:1;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:inherit;color:var(--color-text);background:var(--color-bg);resize:none;line-height:1.4}.chat-textarea:focus{outline:2px solid var(--color-primary);outline-offset:-1px;border-color:transparent}.chat-textarea:disabled{opacity:.6}.chat-send-btn{align-self:flex-end;padding:10px 16px;white-space:nowrap}.error{color:var(--color-error);font-size:.875rem;background:#fdf0ef;padding:8px 12px;border-radius:var(--radius)}.hint{color:var(--color-text-muted);font-size:.875rem;margin-top:8px}.passphrase-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.passphrase-modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:32px;max-width:380px;width:90%;text-align:center}.passphrase-modal h2{font-size:1.25rem;margin-bottom:8px}.passphrase-modal p{color:var(--color-text-muted);font-size:.9rem;margin-bottom:12px}.passphrase-modal form{display:flex;flex-direction:column;gap:12px;margin-top:16px}.passphrase-modal input{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:inherit;text-align:center}.passphrase-modal input:focus{outline:2px solid var(--color-primary);outline-offset:-1px;border-color:transparent}.doc-panel{position:fixed;top:53px;right:0;bottom:0;width:380px;background:var(--color-surface);border-left:1px solid var(--color-border);display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease;z-index:50}.doc-panel.open{transform:translate(0)}.doc-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border)}.doc-panel-header h3{font-size:.95rem;font-weight:600}.doc-panel-close{background:transparent;color:var(--color-text-muted);font-size:1.25rem;padding:4px 8px;line-height:1}.doc-panel-close:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.doc-panel-body{flex:1;padding:16px;overflow-y:auto}.doc-panel-textarea{width:100%;height:100%;min-height:200px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9rem;font-family:inherit;color:var(--color-text);background:var(--color-bg);resize:vertical;line-height:1.5}.doc-panel-textarea:focus{outline:2px solid var(--color-primary);outline-offset:-1px;border-color:transparent}.doc-panel-content{font-size:.9rem;line-height:1.6;white-space:pre-wrap}.doc-panel-empty{color:var(--color-text-muted);font-style:italic}.doc-panel-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border)}.doc-panel-btn-secondary{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.doc-panel-btn-secondary:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.doc-panel-toggle{position:fixed;bottom:80px;right:16px;width:44px;height:44px;border-radius:50%;padding:0;font-size:1.2rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #2d29261f;z-index:60}@media(max-width:640px){.doc-panel{width:100%}}.header-actions{display:flex;gap:8px;align-items:center}.quick-exit-btn{background:transparent;color:var(--color-text-muted);font-size:.8rem;padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--radius)}.quick-exit-btn:hover:not(:disabled){background:var(--color-error);color:#fff;border-color:var(--color-error)}.disclaimer{background:linen;border-left:3px solid var(--color-accent);border-radius:0 var(--radius) var(--radius) 0;padding:12px 16px;margin-bottom:24px;font-size:.85rem;color:var(--color-text);line-height:1.5;text-align:left}.disclaimer p{margin-bottom:8px}.disclaimer p:last-child{margin-bottom:0}.disclaimer a{color:var(--color-primary)}.info-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin-top:24px;text-align:left;max-width:var(--max-width);margin-left:auto;margin-right:auto}.info-card h3{font-size:1rem;margin-bottom:12px}.info-card ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:.875rem;color:var(--color-text);line-height:1.5}.info-card-resources{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-muted);line-height:1.6}.info-card-resources a{color:var(--color-primary)}.install-prompt{margin-top:16px;padding:12px 16px;background:#f0f4ed;border:1px solid var(--color-accent);border-radius:var(--radius);font-size:.875rem;color:var(--color-text);line-height:1.5;text-align:center}.install-prompt button{margin-top:8px}.account-link{display:inline-block;margin-top:16px;color:var(--color-text-muted);font-size:.875rem}.account-link:hover{color:var(--color-primary)}.account-page{max-width:var(--max-width);margin:20px auto}.account-page h2{font-size:1.5rem;margin-bottom:24px}.account-message{background:#f5f0e8;border:1px solid var(--color-accent);color:#4a6741;padding:8px 12px;border-radius:var(--radius);font-size:.875rem;margin-bottom:16px}.account-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.account-section h3{font-size:1rem;margin-bottom:4px}.account-section p{color:var(--color-text-muted);font-size:.875rem;margin-bottom:12px;line-height:1.4}.btn-danger{background:transparent;color:var(--color-error);border:1px solid var(--color-error);font-size:.875rem;padding:8px 16px}.btn-danger:hover:not(:disabled){background:var(--color-error);color:#fff}.btn-secondary{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.875rem;padding:8px 16px}.btn-secondary:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.confirm-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.confirm-modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:28px;max-width:380px;width:90%}.confirm-modal h3{font-size:1.1rem;margin-bottom:8px}.confirm-modal p{color:var(--color-text-muted);font-size:.9rem;margin-bottom:16px;line-height:1.4}.confirm-modal input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:inherit;text-align:center;margin-bottom:16px}.confirm-modal input:focus{outline:2px solid var(--color-primary);outline-offset:-1px;border-color:transparent}.confirm-modal-actions{display:flex;gap:8px;justify-content:flex-end}.public-layout{min-height:100vh;display:flex;flex-direction:column}.public-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.public-header-brand{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--color-text);text-decoration:none}.public-header-brand:hover{color:var(--color-primary)}.public-nav{display:flex;gap:24px;align-items:center}.public-nav a{font-size:.9rem;color:var(--color-text-muted);text-decoration:none}.public-nav a:hover{color:var(--color-primary)}.public-nav-cta{background:var(--color-primary);color:#fff!important;padding:8px 18px;border-radius:var(--radius);font-weight:500;transition:background .15s}.public-nav-cta:hover{background:var(--color-primary-hover)}.public-main{flex:1;max-width:740px;width:100%;margin:0 auto;padding:40px 24px}.public-footer{border-top:1px solid var(--color-border);padding:24px;text-align:center;font-size:.85rem;color:var(--color-text-muted)}.public-footer a{color:var(--color-text-muted);text-decoration:none;margin:0 12px}.public-footer a:hover{color:var(--color-primary)}.public-footer-links,.public-footer-contact{margin-top:8px}.public-footer-contact a{color:var(--color-primary);text-decoration:none}.public-footer-contact a:hover{text-decoration:underline}@media(max-width:640px){.public-header{flex-direction:column;gap:12px}.public-nav{gap:16px;flex-wrap:wrap;justify-content:center}.public-main{padding:24px 16px}}.landing-hero{text-align:center;padding:40px 0 48px}.landing-hero h1{font-size:2.25rem;line-height:1.25;margin-bottom:16px}.landing-hero p{font-size:1.1rem;color:var(--color-text-muted);max-width:520px;margin:0 auto 28px;line-height:1.6}.landing-cta{display:inline-block;background:var(--color-primary);color:#fff;padding:14px 32px;border-radius:var(--radius);font-size:1.05rem;font-weight:500;text-decoration:none;transition:background .15s}.landing-cta:hover{background:var(--color-primary-hover)}.landing-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:32px 0}.landing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px}.landing-card h3{font-size:1.05rem;margin-bottom:8px}.landing-card p{font-size:.9rem;color:var(--color-text-muted);line-height:1.5}.landing-callout{background:linen;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;text-align:center;margin-top:32px}.landing-callout h3{font-size:1.05rem;margin-bottom:8px}.landing-callout p{font-size:.9rem;color:var(--color-text-muted);margin-bottom:16px}.landing-callout a{color:var(--color-primary);font-weight:500;text-decoration:none}.landing-callout a:hover{text-decoration:underline}.beta-notice{background:#f0f4ed;border:1px solid var(--color-accent);border-radius:var(--radius);padding:14px 20px;text-align:center;font-size:.9rem;line-height:1.5;color:var(--color-text)}.pairing-banner{background:linen;border-left:3px solid var(--color-accent);border-radius:0 var(--radius) var(--radius) 0;padding:12px 16px;margin-bottom:16px;font-size:.9rem;line-height:1.5;text-align:left}.pairing-code-inline{font-family:monospace;font-size:1.05rem;letter-spacing:.1em}@media(max-width:640px){.landing-hero h1{font-size:1.75rem}.landing-cards{grid-template-columns:1fr}}.public-page h1{font-size:1.75rem;margin-bottom:24px}.public-page h2{font-size:1.25rem;margin-top:32px;margin-bottom:12px}.public-page p{font-size:.95rem;color:var(--color-text);line-height:1.7;margin-bottom:14px}.public-page ul,.public-page ol{padding-left:20px;margin-bottom:14px}.public-page li{font-size:.95rem;line-height:1.6;margin-bottom:6px;color:var(--color-text)}.public-page blockquote{border-left:3px solid var(--color-accent);background:linen;padding:16px 20px;border-radius:0 var(--radius) var(--radius) 0;margin:16px 0;font-style:italic;font-size:.95rem;line-height:1.6;color:var(--color-text-muted)}.public-page a{color:var(--color-primary);text-decoration:none}.public-page a:hover{text-decoration:underline}.public-page .resource-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin:20px 0}.public-page .resource-box h3{font-size:1rem;margin-bottom:10px}.public-page .resource-box li{font-size:.9rem}
