.connection-page{background:#f7f8f4;color:#233b32}
.connection-page main{max-width:960px;padding-top:28px}
.connect-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:28px;border-bottom:1px solid #dce2d7}
.connect-nav>a:last-child{font-size:.87rem;text-decoration:none}
.connect-brand{font-size:2rem;font-weight:800;letter-spacing:-.07em;text-decoration:none;color:#244f40}
.connect-brand span{color:#b77755}
.connect-heading{margin-top:56px}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:#6b7b66;margin:0 0 12px}
.connect-heading h1{font-size:clamp(2rem,5vw,3rem);font-weight:650;letter-spacing:-.055em;margin:12px 0 18px;word-break:keep-all}
.connect-intro{font-size:1.06rem;color:#53645b;line-height:1.85;margin:0 0 26px;word-break:keep-all}
.setup-note{display:flex;align-items:flex-start;gap:16px;padding:20px 22px;border-radius:12px;background:#edf0e7;margin:28px 0 40px;color:#425844}
.setup-note>span{font-size:1.6rem;line-height:1.3}
.setup-note p{margin:0;font-size:.9rem;line-height:1.8}
.connection-page .service-picker{padding:0;border:0;background:transparent;margin:0 0 38px}
.section-heading h2{font-size:1.45rem;letter-spacing:-.035em;margin:6px 0}
.section-heading p{margin:0 0 20px;color:#647269;font-size:.93rem}
.service-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.connection-page .service-option{display:flex;align-items:center;gap:16px;min-width:0;width:100%;margin:0;padding:22px;text-align:left;border:1px solid #d4ddd0;border-radius:14px;background:white;color:#263e33;transition:background .15s,border-color .15s}
.connection-page .service-option:hover{background:#f1f5ed;border-color:#648570}
.connection-page .service-option[aria-pressed=true]{border:2px solid #285b49;background:#edf3e9;padding:21px}
.service-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;font-size:1.3rem;font-weight:700;flex-shrink:0}
.gpt-mark{background:#e5eee7;color:#315947}.claude-mark{background:#f7e9df;color:#a26041}
.service-option strong,.service-option small{display:block}
.service-option strong{font-size:1.2rem;letter-spacing:-.025em}
.service-option small{font-size:.8rem;font-weight:400;color:#627068;margin-top:3px}
.service-arrow{margin-left:auto;font-size:1.3rem}
.service-selection{margin:12px 0 0;min-height:1.7em}
.setup-summary{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:36px 0 14px}
.setup-summary h2{margin:0;font-size:1.3rem;letter-spacing:-.035em}
.setup-summary p{margin:0;font-size:.82rem;color:#617363}
.service-note{padding:15px 18px;border-left:3px solid #a3b796;background:#eff2e9;font-size:.88rem;margin-bottom:20px;line-height:1.8}
.connection-page .setup-step{border:1px solid #d9e1d4;background:#fff;border-radius:14px;padding:0;margin:12px 0;overflow:hidden}
.setup-step>summary{list-style:none;display:flex;align-items:center;gap:18px;padding:24px;color:#263e33}
.setup-step>summary::-webkit-details-marker{display:none}
.step-number{font-size:.83rem;font-weight:700;letter-spacing:.07em;align-self:flex-start;line-height:1.8;padding-top:3px;color:#6e8568}
.setup-step>summary strong,.setup-step>summary small{display:block}
.setup-step>summary strong{font-size:1.07rem;letter-spacing:-.025em;word-break:keep-all}
.setup-step>summary small{font-size:.83rem;color:#6b796f;font-weight:400;margin-top:3px;word-break:keep-all}
.step-toggle{margin-left:auto;font-size:1.25rem;color:#7f8f79;flex-shrink:0}
.setup-step[open]{border-color:#a8bba0}
.setup-step[open] .step-toggle{transform:rotate(45deg)}
.step-content{border-top:1px solid #e8ece4;margin:0 24px;padding:22px 0 26px;font-size:.95rem;color:#405749;overflow-wrap:anywhere}
.menu-instructions{margin:0 0 22px;padding-left:23px}
.menu-instructions li{padding-left:4px;margin:10px 0;line-height:1.9}
.button-link{display:inline-block;padding:11px 18px;background:#285b49;color:white;text-decoration:none;border-radius:8px;font-size:.9rem;line-height:1.65;margin:6px 8px 6px 0}
.button-link:hover{background:#1e4839}
.connection-page .step-next{display:block;margin:24px 0 0;padding:0;background:transparent;color:#285b49;border-radius:3px;font-size:.9rem;font-weight:650;text-align:left;text-decoration:underline;text-underline-offset:5px}
.copy-field{margin:0 0 24px}.copy-field label,.step-content>label{font-size:.86rem;font-weight:650;margin:0 0 8px}
.copy-row{display:flex;gap:10px;align-items:stretch}
.copy-row input{min-width:0;margin:0;background:#fafbf8!important;border-color:#cfd9ca!important;font-size:.9rem;padding:12px!important}
.copy-row button{margin:0;flex-shrink:0;white-space:nowrap;font-size:.87rem;padding:10px 16px}
.field-help{font-size:.82rem;line-height:1.8;color:#687669;margin:9px 0 0}.field-help strong{color:#3c5b43}
.copy-feedback{font-size:.86rem;font-weight:600;color:#285b49;margin:12px 0;min-height:0}.copy-feedback:empty{display:none}
.permission-note{padding:20px;border-radius:10px;background:#f1f4ec;font-size:.88rem;margin:20px 0}.permission-note p{margin:8px 0 0;line-height:1.85}
.connection-page textarea{display:block;resize:vertical;min-height:140px;width:100%;padding:17px;font:inherit;font-size:.95rem;line-height:1.85;border:1px solid #cfd9ca;border-radius:10px;background:#fafbf8;color:#354e40}
.connection-page textarea:focus-visible{outline:3px solid #c36a30;outline-offset:3px}
.connection-page .secondary-link,.connection-page .secondary-button{background:#edf2e8;color:#285b49}
.connection-check{border-top:1px solid #e1e7dc;padding-top:20px;margin-top:28px;font-size:.88rem}
.connection-check h3{font-size:1rem;margin:0}.connection-check p{line-height:1.8}.connection-check>a{display:block;margin:10px 0}
.connection-page .connect-help{margin-top:40px;padding:28px;border-radius:14px;background:#f0f2eb;border:0}
.connect-help h2{margin:8px 0 20px;font-size:1.4rem;letter-spacing:-.03em}
.connect-help details{margin:16px 0 0;padding-top:16px;border-top:1px solid #dce3d5}
.connect-help summary{font-size:.92rem;font-weight:600;line-height:1.8}
.connect-help details p{font-size:.9rem;line-height:1.9;color:#50634f}
.connection-page .text-button{padding:0;margin:4px 0;background:transparent;color:#285b49;font-size:.88rem;text-decoration:underline;text-underline-offset:4px}
.guide-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;font-size:.76rem;color:#798273;margin-top:28px}
.guide-footer p{margin:0;line-height:1.9}.guide-footer a{display:block;margin-top:8px;text-underline-offset:3px}
.connection-page #login{display:inline-block;padding:12px 18px;border-radius:8px;background:#285b49;color:#fff}
@media(max-width:640px){.connection-page main{padding:20px 18px 50px}.connect-heading{margin-top:36px}.connect-nav{padding-bottom:18px}.connect-nav>a:last-child{font-size:.77rem}.connect-intro{font-size:.94rem}.connect-intro br{display:none}.setup-note{margin:24px 0 30px;padding:17px;gap:10px}.service-options{grid-template-columns:1fr}.connection-page .service-option{padding:18px}.connection-page .service-option[aria-pressed=true]{padding:17px}.service-option small{font-size:.82rem}.setup-summary{gap:6px;margin-top:26px}.setup-summary p{font-size:.75rem}.setup-step>summary{padding:19px 16px;gap:12px}.setup-step>summary strong{font-size:.98rem}.setup-step>summary small{font-size:.77rem}.step-content{margin:0 16px;font-size:.9rem}.copy-row{flex-wrap:wrap}.copy-row input{flex:1 1 100%}.copy-row button{font-size:.83rem;padding:9px 14px}.button-link{font-size:.85rem}.connection-page .connect-help{padding:22px 18px}.guide-footer{align-items:flex-start;flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){.connection-page .service-option{transition:none}}
