*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button,.button{min-height:44px;cursor:pointer;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 15px;color:var(--ink);font-weight:650;text-decoration:none}button:hover,.button:hover{filter:brightness(.96)}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}label{font-size:12px;font-weight:750;display:block;margin:16px 0 7px}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:11px 12px}textarea{min-height:90px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.buttons{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.buttons .button{font-size:13px}header{padding:21px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:23px;letter-spacing:-1px;font-weight:850}.brand span{margin-right:10px}.badge{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;border:1px solid var(--line);border-radius:30px;padding:8px 12px}.wrap{max-width:1240px;padding:40px 24px;margin:auto}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:800}.hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:32px}h1{font-size:clamp(34px,5vw,56px);letter-spacing:-2px;line-height:1.08;margin:15px 0}h2{font-size:20px;letter-spacing:-.5px;margin:0 0 14px}h3{margin:0 0 10px}.muted{font-size:13px;color:var(--muted);line-height:1.65}.lead{max-width:590px;font-size:15px;line-height:1.7;color:var(--muted)}.card{padding:24px;border-radius:18px;border:1px solid var(--line);background:var(--surface)}.grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:start}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:0}.kicker{font-size:10px;letter-spacing:1.4px;font-weight:800;text-transform:uppercase;color:var(--muted)}.notice{border:1px solid var(--line);padding:14px 18px;border-radius:12px;margin:16px 0;background:var(--surface);font-size:13px}.notice.error{color:#b93139;border-color:#e6a3a5}.empty{padding:30px 10px;text-align:center;color:var(--muted);font-size:14px}.pill{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:5px 10px;font-size:10px;font-weight:750}.small{font-size:12px;padding:8px 11px}.danger{color:#b52c3d}.footer{margin-top:32px;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);line-height:1.7}.footer a{color:inherit}dialog{max-width:450px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);padding:28px}dialog::backdrop{background:#10101a88}dialog p{font-size:14px;line-height:1.7}hr{border:0;border-top:1px solid var(--line);margin:24px 0}[hidden]{display:none!important}@media(max-width:850px){.grid{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.wrap{padding:28px 16px}header{padding:18px 16px}.badge{font-size:8px}.card{padding:20px}.footer{flex-direction:column;gap:10px}.hero .buttons{width:100%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{header,.no-print,form,button,.footer,.grid>aside{display:none!important}.wrap{padding:0;max-width:none}.grid{display:block}.card{border:0;padding:0;box-shadow:none!important}body{background:#fff!important;color:#111!important}.hero{margin:0 0 20px}.scene,.table-card{break-inside:avoid}.muted{color:#444!important}}:root{--ink:#332e2b;--muted:#81776c;--surface:#fffdf7;--line:#e2dbcf;--accent:#a14c37;--on-accent:#fffaf1;--focus:#7f72ad}body{background:#f3ede2;color:var(--ink);background-image:linear-gradient(90deg,#e9e1d74d 1px,transparent 1px);background-size:32px 32px}header{background:#fffdf7}.brand{font-family:Georgia,serif;font-style:italic;font-size:27px;font-weight:600}.brand span{color:#a14c37}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(36px,5vw,60px);letter-spacing:-2px}.hero h1 em{color:#a14c37}.eyebrow{color:#9a654d}.card{border-radius:4px;box-shadow:4px 5px 0 #e6ddcf}.story-line{display:flex;gap:24px;align-items:center;padding:18px 24px;border:1px solid var(--line);background:#fffdf7;margin-bottom:26px;border-left:4px solid #a14c37}.story-line .total{font-family:Georgia,serif;font-size:28px;white-space:nowrap}.progress-wrap{flex:1}.progress-bar{height:6px;background:#e7e0d2;margin:8px 0;border-radius:3px;overflow:hidden}.progress-bar span{display:block;height:100%;background:#a14c37;max-width:100%}.story-title{font-family:Georgia,serif;font-size:27px!important;font-weight:400}.premise{font-family:Georgia,serif;font-size:15px;line-height:1.7;color:#827060}.acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.act-head{border-bottom:2px solid #b9ab96;padding-bottom:12px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:end}.act-head h3{font-family:Georgia,serif;font-size:22px;font-weight:400;margin:0}.act-head span{font-size:9px;letter-spacing:1px;color:#8a786a}.scene{padding:18px 16px;margin-bottom:15px;border:1px solid #ddd2bd;background:#fff9e9;box-shadow:2px 3px 0 #d8cdbb66;position:relative;overflow-wrap:anywhere}.scene:before{content:'';position:absolute;left:35%;top:-7px;width:60px;height:15px;background:#d8d1bc80;transform:rotate(-3deg)}.scene[data-kind=Conflict]{background:#fbe7df;border-color:#e7c5b8}.scene[data-kind=Reveal]{background:#eae5f2;border-color:#d6ccdf}.scene[data-kind=Turning\ point]{background:#e4eddf;border-color:#cad8c0}.scene h4{font-family:Georgia,serif;font-size:18px;font-weight:500;line-height:1.35;margin:12px 0 8px}.scene p{font-size:12px;line-height:1.65;color:#73685c;white-space:pre-line}.scene-meta{font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:#8e7862}.scene-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:15px}.scene-actions button{font-size:10px;min-height:44px;padding:6px 9px;border-radius:4px;background:transparent}.scene select{font-size:10px;min-height:44px;padding:7px;background:#fff9;border-radius:4px;margin-top:8px}.scene-count{font:11px ui-monospace,monospace;color:#8b7864;display:block;border-top:1px dashed #ccbda5;padding-top:10px;margin-top:12px}.spark{background:#e9e3f0;border:1px solid #d3c9dd;padding:18px;margin-top:24px;transform:rotate(-1deg)}.spark p{font:italic 16px/1.6 Georgia,serif;color:#6e5c81;margin:10px 0}.spark button{font-size:11px;background:#f8f5fc;border-color:#d3c9dd;border-radius:4px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.toolbar select,.toolbar input{width:auto;max-width:200px}.form-fields input,.form-fields select,.form-fields textarea{border-radius:4px}.act-empty{border:1px dashed #d4c7b3;padding:25px 12px;text-align:center;font:italic 13px Georgia,serif;color:#a79782}.word-note{font:10px ui-monospace,monospace;color:#8a7b67}.beat{border:1px solid #b9a78d;border-radius:3px;font-size:8px;padding:3px 5px;letter-spacing:1px;text-transform:uppercase}.grid{grid-template-columns:290px minmax(0,1fr)}@media(max-width:1100px) and (min-width:851px){.acts{grid-template-columns:1fr}.scene:before{left:45%}}@media(max-width:850px){.grid{grid-template-columns:1fr}}@media(max-width:650px){.acts{grid-template-columns:1fr}.story-line{flex-wrap:wrap;gap:12px}.story-line .total{font-size:23px}.progress-wrap{min-width:150px}.toolbar input{max-width:100%}}@media print{.acts{display:block}.act{margin-top:25px}.scene{background:#fff!important}.spark{display:none!important}.scene:before{display:none}.story-line{border:0}}