:root{--maroon: #6b2737;--maroon-dark: #4a1a26;--gold: #b8912f;--teal: #2f7a72;--parchment: #f1e9d8;--parchment-dark: #e6dcc4;--ink: #2b2119}body{font-family:"Source Sans 3",sans-serif;background:var(--parchment);background-image:radial-gradient(circle at 1px 1px,rgba(107,39,55,.06) 1px,transparent 0);background-size:22px 22px;margin:0;padding:3rem 2rem;color:var(--ink)}.app{max-width:640px;margin:0 auto}.hero h1{font-family:Fraunces,serif;font-weight:700;font-size:2.1rem;margin-bottom:.15rem;color:var(--maroon-dark);letter-spacing:-.01em}.hero .subtitle{color:var(--gold);margin:0 0 1.5rem;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.75rem}.tab{text-align:left;padding:.9rem 1rem;border-radius:6px;border:1px solid var(--parchment-dark);background:#fffdf8;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;transition:border-color .15s ease,background .15s ease}.tab:hover{border-color:var(--gold)}.tab.active{border-color:var(--maroon);background:#fffaf0;box-shadow:inset 3px 0 0 var(--maroon)}.tab-label{font-family:Fraunces,serif;font-weight:600;font-size:1.05rem;color:var(--maroon-dark)}.tab-sub{font-size:.75rem;color:#8a7a6a}.card{background:#fffdf8;border:1px solid var(--parchment-dark);border-top:3px solid var(--maroon);border-radius:4px;padding:1.75rem;margin:1.75rem 0;box-shadow:0 2px 10px #4b321414}.card h2{font-family:Fraunces,serif;font-weight:600;margin-top:0;color:var(--maroon-dark);font-size:1.3rem}.row{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem}select,input,textarea{padding:.55rem;border-radius:3px;border:1px solid var(--parchment-dark);background:var(--parchment);font-size:1rem;font-family:inherit;flex:1;color:var(--ink)}textarea{width:100%;box-sizing:border-box;resize:vertical}button{padding:.6rem 1.2rem;border-radius:3px;border:none;background:var(--maroon);color:#fdf6ee;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.02em;transition:background .15s ease}button:hover:not(:disabled){background:var(--maroon-dark)}button:disabled{opacity:.5;cursor:not-allowed}.result{margin-top:1rem;padding:1rem;background:var(--parchment);border-left:3px solid var(--gold);border-radius:2px;font-size:1.1rem;font-family:Fraunces,serif}.error{color:var(--maroon-dark);font-size:.9rem}.chat-window{max-height:300px;overflow-y:auto;margin-bottom:.75rem;padding-right:.25rem}.bubble{padding:.6rem .85rem;margin-bottom:.5rem;border-radius:3px;background:var(--parchment);border-left:3px solid var(--parchment-dark);font-size:.95rem}.bubble.tutor{border-left-color:var(--gold)}.bubble.student{border-left-color:var(--maroon);text-align:right}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.1rem}.theme-btn{padding:.85rem .6rem;border-radius:6px;border:1px solid var(--parchment-dark);background:var(--parchment);cursor:pointer;text-align:center;color:var(--ink);transition:border-color .15s ease,transform .15s ease}.theme-btn:hover{transform:translateY(-1px)}.theme-btn.active{border-color:var(--teal);background:#eaf4f2}.theme-label{font-family:Fraunces,serif;font-size:1.05rem}.theme-desc{font-size:.7rem;color:#8a7a6a;margin-top:.2rem}.generate-btn{width:100%;padding:.7rem;border-radius:3px;border:none;background:var(--teal);color:#fdf6ee;font-weight:600;cursor:pointer}.generate-btn:hover:not(:disabled){background:#245f59}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.story-card{border-top-color:var(--teal)}.story-card h2{color:var(--teal)}.story-text{white-space:pre-wrap;line-height:1.7}
