*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--tool: #8b00cc;--ink: #1b2a4a;--ink-2: #2a3d63;--muted: #5d6b7f;--canvas: #f6f8fb;--surface: #ffffff;--surface-sunk: #eef2f6;--rule: #e2e7ee;--accent: #0e7c7b;--accent-soft: #e9f3f3;--warn: #8a5300;--warn-soft: #fff3e0;--danger: #b3261e;--success: #1e6b45;--success-soft: #e8f4ec;--radius: 10px;--radius-lg: 22px;--shadow: 0 1px 2px rgba(27,42,74,.05), 0 18px 44px -28px rgba(27,42,74,.3);--font-display: "Instrument Sans", -apple-system, "SF Pro Text", "Segoe UI", Helvetica, Arial, sans-serif;--font-body: "Instrument Sans", -apple-system, "SF Pro Text", "Segoe UI", Helvetica, Arial, sans-serif;--font-spoken: Fraunces, "Iowan Old Style", Georgia, serif;--transition: .18s ease}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--ink);background:var(--canvas);min-height:100vh;line-height:1.6}.app-shell{min-height:100vh;display:flex;flex-direction:column}.tool-line{height:3px;background:var(--tool)}.page-header{background:var(--canvas);border-bottom:1px solid var(--rule);padding:0 24px}.header-inner{max-width:800px;margin:0 auto;min-height:68px;padding:10px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{display:block;width:26px;height:26px}.brand-name{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.02em}.pill{background:var(--surface-sunk);color:var(--ink-2);font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;letter-spacing:.01em}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.header-back{font-size:14px;font-weight:500;color:var(--ink-2);text-decoration:none;padding:8px 6px}.header-back:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.header-user{font-size:13px;color:var(--muted)}.main-content{flex:1;padding:0 24px 60px}.content-inner{max-width:800px;margin:0 auto}.hero{padding:48px 0 28px}.hero h1{font-family:var(--font-display);font-size:clamp(32px,6vw,40px);font-weight:600;line-height:1.1;color:var(--ink);letter-spacing:-.03em;margin-bottom:12px}.hero p{font-size:18px;line-height:28px;color:var(--ink-2);max-width:40rem}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:24px 28px;margin-bottom:20px}.card.card-main{border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(24px,5vw,48px);margin-bottom:24px}.card.notice-warn{background:var(--warn-soft);border:none}.card-title{font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.3;margin-bottom:16px}.field-label{display:block;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--muted);margin-bottom:8px}.field-hint{font-size:14px;line-height:20px;color:var(--ink-2);margin-bottom:12px}.field-hint strong{color:var(--ink);font-weight:600}textarea{width:100%;min-height:160px;padding:10px 16px;border:1px solid var(--rule);border-radius:var(--radius);font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--surface);resize:vertical;line-height:1.6;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.name-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 20px}.name-field{min-width:0}.text-input{width:100%;min-height:44px;padding:10px 16px;border:1px solid var(--rule);border-radius:var(--radius);font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition);outline:none}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink)!important;box-shadow:0 0 0 1px var(--ink)!important}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}button:disabled{cursor:not-allowed}textarea.output-area{min-height:560px;padding:24px 28px;background:var(--surface);border-color:var(--rule);font-family:var(--font-spoken);font-variation-settings:"SOFT" 0,"WONK" 0;font-weight:400;font-size:19px;line-height:30px;color:var(--ink)}.tone-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.tone-btn{min-height:44px;padding:12px 18px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:all var(--transition);text-align:left;display:flex;flex-direction:column;gap:2px;font-family:var(--font-body)}.tone-btn:hover{border-color:var(--ink-2)}.tone-btn.selected{border-color:var(--ink);background:var(--surface-sunk);box-shadow:inset 0 0 0 1px var(--ink)}.tone-label{font-size:15px;font-weight:500;color:var(--ink)}.tone-btn.selected .tone-label{font-weight:600}.tone-desc{font-size:13px;line-height:18px;color:var(--ink-2)}.slider-field{margin-bottom:24px}.slider-field:last-of-type{margin-bottom:0}.slider-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:2px}.slider-header .field-label{margin-bottom:4px}.slider-value{font-size:13px;font-weight:600;color:var(--ink);background:var(--surface-sunk);padding:3px 12px;border-radius:999px}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:999px;background:var(--rule);outline:none;cursor:pointer;margin:12px 0 8px}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--ink);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--ink);cursor:pointer;transition:transform var(--transition)}.slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--ink);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--ink);cursor:pointer}.slider:focus{box-shadow:none!important}.slider:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.slider-ticks{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.generate-btn{width:100%;min-height:52px;padding:0 24px;background:var(--ink);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px}.generate-btn:hover:not(:disabled){background:var(--ink-2)}.generate-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--rule);margin-bottom:20px;flex-wrap:wrap}.tab-btn{min-height:44px;padding:0 16px;background:transparent;border:none;border-bottom:2px solid transparent;font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--muted);cursor:pointer;transition:all var(--transition);margin-bottom:-1px}.tab-btn:hover{color:var(--ink)}.tab-btn.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.tab-content{animation:fadeIn .2s ease}.output-section{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.output-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.output-header .card-title{font-size:20px}.copy-btn{min-height:36px;padding:0 14px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;transition:all var(--transition);display:inline-flex;align-items:center;gap:6px}.copy-btn:hover:not(:disabled){border-color:var(--ink-2)}.copy-btn:disabled{opacity:.6}.copy-btn.copied{border-color:var(--success);color:var(--success);background:var(--success-soft)}.copy-btn.btn-lg{min-height:44px;padding:0 20px;font-size:15px}.copy-btn.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.copy-btn.btn-primary:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-2)}.guide-content{display:flex;flex-direction:column;gap:12px}.guide-section{padding:18px 22px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius)}.guide-heading{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:6px}.guide-section p{font-size:15px;color:var(--ink-2);line-height:1.65}.cadence-card{background:var(--accent-soft);border-radius:var(--radius);padding:20px 24px;margin-top:20px;animation:fadeIn .35s ease}.cadence-card .card-title{font-size:13px;letter-spacing:.01em;margin-bottom:8px}.cadence-content{font-size:15px;color:var(--ink);line-height:1.65}.cadence-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.cadence-pill{padding:4px 12px;border-radius:999px;font-size:13px;font-weight:500;background:var(--surface);color:var(--ink)}.action-btns{display:flex;gap:8px;flex-wrap:wrap}.error-msg{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:12px 16px;font-size:14px;color:var(--danger);margin-top:16px;display:flex;align-items:center;gap:8px}.divider{height:1px;background:var(--rule);margin:28px 0}.coach-handoff{margin-top:16px;padding-top:16px;border-top:1px solid var(--rule)}.page-footer{padding:0 24px 32px}.footer-inner{max-width:800px;margin:0 auto;border-top:1px solid var(--rule);padding-top:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer-inner p{font-size:13px;color:var(--muted)}.footer-inner a{color:var(--ink-2);text-decoration:underline;text-underline-offset:4px;font-size:13px}.footer-inner a:hover{color:var(--ink)}.suite-links{display:flex;gap:20px;align-items:center}@media (max-width: 600px){.card{padding:20px 18px}.page-header,.main-content,.page-footer{padding-left:16px;padding-right:16px}.hero{padding-top:32px}textarea.output-area{padding:18px}.footer-inner{flex-direction:column;align-items:flex-start}}
