*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
    --bg:#FFF8F0;
    --surface:#FFFFFF;
    --surface-alt:#FDF3E7;
    --text:#3E2C1C;
    --text-muted:#6B5B4A;
    --accent:#C49A6C;
    --accent-dark:#8B5E3C;
    --accent-light:#F5E6D3;
    --border:#E0CFB5;
    --shadow:0 4px 20px rgba(62,44,28,0.08);
    --radius:12px;
    --font-sans:'Segoe UI',system-ui,-apple-system,sans-serif;
    --font-mono:'Cascadia Code','Fira Code',monospace;
    --transition:0.2s ease;
}
[data-theme="dark"]{
    --bg:#2B241A;
    --surface:#3E3226;
    --surface-alt:#4A3D2F;
    --text:#F0E3D0;
    --text-muted:#C4B5A0;
    --accent:#D4A373;
    --accent-dark:#B8845A;
    --accent-light:#5C4A36;
    --border:#5C4A36;
    --shadow:0 4px 20px rgba(0,0,0,0.25);
}
html{scroll-behavior:smooth;font-size:16px}
body{
    font-family:var(--font-sans);
    background:var(--bg);
    color:var(--text);
    line-height:1.6;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    transition:background var(--transition),color var(--transition);
}
.skip-link{
    position:absolute;top:-100px;left:16px;background:var(--accent-dark);color:#fff;padding:8px 16px;border-radius:0 0 6px 6px;z-index:1000;text-decoration:none;
}
.skip-link:focus{top:0}
.container{max-width:1100px;margin:0 auto;padding:0 20px;width:100%}
.site-header{
    background:var(--surface);
    border-bottom:1px solid var(--border);
    position:sticky;top:0;z-index:100;
    box-shadow:0 2px 10px rgba(0,0,0,0.04);
}
.header-inner{
    display:flex;align-items:center;justify-content:space-between;
    height:64px;
}
.logo{
    display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:700;font-size:1.15rem;
}
.logo-text{letter-spacing:-0.3px}
.nav-list{
    list-style:none;display:flex;gap:24px;
}
.nav-list a{
    text-decoration:none;color:var(--text-muted);font-weight:500;font-size:0.95rem;transition:color var(--transition);
}
.nav-list a:hover,.nav-list a:focus-visible{color:var(--accent-dark)}
.theme-toggle{
    background:none;border:1px solid var(--border);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:background var(--transition);
}
.theme-toggle:hover{background:var(--surface-alt)}
.hidden{display:none !important}
main{flex:1}
.hero{
    text-align:center;padding:72px 20px 56px;
    background:linear-gradient(180deg,var(--surface-alt) 0%,var(--bg) 100%);
}
.hero h1{
    font-size:2.8rem;font-weight:800;letter-spacing:-0.6px;color:var(--accent-dark);margin-bottom:12px;line-height:1.2;
}
.hero-subtitle{
    font-size:1.2rem;color:var(--text-muted);max-width:540px;margin:0 auto 32px;
}
.btn-primary{
    display:inline-block;background:var(--accent-dark);color:#fff;padding:14px 32px;border-radius:40px;font-weight:600;font-size:1rem;text-decoration:none;border:none;cursor:pointer;transition:background var(--transition),transform var(--transition);
}
.btn-primary:hover,.btn-primary:focus-visible{background:var(--accent);transform:translateY(-1px)}
.btn-secondary{
    display:inline-block;background:var(--surface);color:var(--accent-dark);border:2px solid var(--accent);padding:10px 24px;border-radius:40px;font-weight:600;font-size:0.95rem;cursor:pointer;transition:background var(--transition);
}
.btn-secondary:hover{background:var(--accent-light)}
.builder-section{padding:56px 0}
.builder-section h2{font-size:1.8rem;font-weight:700;margin-bottom:32px;color:var(--accent-dark)}
.builder-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;
}
.input-panel{
    background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);
}
.input-label{display:block;font-weight:600;margin-bottom:12px;color:var(--text)}
.speech-textarea{
    width:100%;border:2px solid var(--border);border-radius:10px;padding:16px;font-family:var(--font-sans);font-size:1rem;resize:vertical;background:var(--bg);color:var(--text);transition:border-color var(--transition);
}
.speech-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(196,154,108,0.2)}
.controls-row{
    display:flex;flex-wrap:wrap;gap:20px;margin-top:20px;
}
.control-group{flex:1;min-width:160px}
.control-group label{display:block;font-weight:600;margin-bottom:6px;font-size:0.9rem}
.control-group input[type="range"]{width:100%;accent-color:var(--accent-dark)}
.wpm-labels{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--text-muted);margin-top:4px}
.control-group select{
    width:100%;padding:8px 12px;border:2px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:0.95rem;
}
.btn-generate{margin-top:24px;width:100%}
.preview-panel{
    background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);min-height:300px;
}
.preview-placeholder{
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);height:100%;min-height:240px;
}
.preview-placeholder p{margin-top:16px;max-width:280px}
.cards-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;
}
.cue-card{
    background:var(--accent-light);
    border:2px dashed var(--accent);
    border-radius:8px;
    padding:16px;
    font-size:0.9rem;
    position:relative;
    min-height:120px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    transition:transform var(--transition);
}
.cue-card:hover{transform:translateY(-2px)}
.card-number{
    position:absolute;top:8px;right:10px;font-size:0.75rem;font-weight:700;color:var(--accent-dark);background:var(--bg);padding:2px 8px;border-radius:12px;
}
.card-text{font-weight:500;line-height:1.5;margin-top:8px;word-break:break-word}
.card-time{
    font-size:0.8rem;color:var(--accent-dark);font-weight:600;margin-top:8px;display:flex;align-items:center;gap:4px;
}
.summary-bar{
    margin-top:20px;padding:16px;background:var(--surface-alt);border-radius:10px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-weight:600;
}
.features{padding:56px 0;background:var(--surface)}
.features h2{font-size:1.8rem;font-weight:700;margin-bottom:40px;text-align:center;color:var(--accent-dark)}
.features-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;
}
.feature-card{
    background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;text-align:center;transition:box-shadow var(--transition);
}
.feature-card:hover{box-shadow:var(--shadow)}
.feature-icon{margin-bottom:16px}
.feature-card h3{font-size:1.15rem;font-weight:700;margin-bottom:8px;color:var(--accent-dark)}
.feature-card p{color:var(--text-muted);font-size:0.95rem}
.tips{padding:56px 0}
.tips h2{font-size:1.8rem;font-weight:700;margin-bottom:24px;color:var(--accent-dark)}
.tips-list{
    list-style:none;display:flex;flex-direction:column;gap:12px;max-width:700px;
}
.tips-list li{
    padding:14px 18px;background:var(--surface);border-left:4px solid var(--accent);border-radius:0 8px 8px 0;font-size:0.98rem;
}
.site-footer{
    background:var(--surface);border-top:1px solid var(--border);padding:24px 0;margin-top:auto;
}
.footer-inner{
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
.footer-inner p{color:var(--text-muted);font-size:0.9rem}
.footer-nav{list-style:none;display:flex;gap:20px}
.footer-nav a{text-decoration:none;color:var(--text-muted);font-size:0.9rem;transition:color var(--transition)}
.footer-nav a:hover{color:var(--accent-dark)}
@media(max-width:860px){
    .builder-grid{grid-template-columns:1fr}
    .hero h1{font-size:2.2rem}
}
@media(max-width:600px){
    .header-inner{flex-wrap:wrap;height:auto;padding:12px 0;gap:8px}
    .nav-list{gap:16px}
    .hero{padding:48px 16px 36px}
    .hero h1{font-size:1.8rem}
    .cards-grid{grid-template-columns:1fr 1fr}
    .features-grid{grid-template-columns:1fr}
    .footer-inner{flex-direction:column;text-align:center}
}
@media print{
    .site-header,.site-footer,.hero,.features,.tips,.builder-section .input-panel,.summary-bar button,#theme-toggle,.skip-link{display:none}
    .builder-grid{grid-template-columns:1fr}
    .preview-panel{box-shadow:none;border:none;padding:0}
    .cards-grid{grid-template-columns:repeat(2,1fr);gap:8px}
    .cue-card{border:1px dashed #000;background:#fff;page-break-inside:avoid}
    body{background:#fff}
}



/* Factory-injected deployment helpers. The AI owns the site design above this block. */
.ad-unit {
  width: min(100%, 720px);
  min-height: 120px;
  margin: 24px auto;
  display: block;
}

.legal-page {
  width: min(900px, calc(100% - 32px));
  margin: 40px auto;
}

.factory-fallback-nav {
  width: min(900px, calc(100% - 32px));
  margin: 24px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  font-size: 0.95rem;
}

.factory-fallback-nav a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
