:root{--ink: #171410;--ink-soft: #2a251d;--parch: #f6f0e1;--parch-dim: #ede4ce;--gold: #b8933a;--gold-soft: #c9aa5f;--rule: #c9b98f;--ink-text: #221d15;--muted: #6b6049;--muted-dark: #7a6f57;--serif: "Cormorant Garamond", Georgia, serif;--display: "Cinzel", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{background:var(--ink);color:var(--parch);font-family:var(--serif)}.page{max-width:760px;margin:0 auto;padding:48px 20px 80px}.masthead{text-align:center;margin-bottom:40px}.masthead h1{font-family:var(--display);font-weight:400;font-size:34px;letter-spacing:10px;color:var(--parch)}.masthead .kicker{font-family:var(--display);font-size:11px;letter-spacing:3px;color:var(--gold-soft)}.masthead .verse{font-style:italic;font-size:18px;color:var(--rule);margin-top:10px}.ornament-row{display:flex;justify-content:center;margin:8px 0 12px}.panel{background:var(--parch);color:var(--ink-text);border:1px solid var(--gold);box-shadow:0 0 0 4px var(--ink),0 0 0 5px var(--gold-soft);border-radius:2px;padding:28px;margin-bottom:40px}@media (max-width: 540px){.panel{padding:20px 16px}}.field-label{font-family:var(--display);font-size:11px;letter-spacing:2px;color:var(--gold);display:block}.field-label .optional{color:#8a7b57}.passage-input{width:100%;margin:4px 0 20px;background:transparent;border:none;border-bottom:1.5px solid var(--rule);padding:4px 2px;font-family:var(--serif);font-size:22px;color:var(--ink-text)}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 20px}.pill{font-family:var(--serif);font-size:15px;padding:6px 12px;border-radius:2px;border:1px solid var(--rule);background:transparent;color:var(--ink-text);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.pill.active{border-color:var(--gold);background:var(--ink);color:var(--gold-soft)}.notes-input{width:100%;margin:4px 0 24px;background:transparent;border:1px solid var(--rule);padding:8px 10px;font-family:var(--serif);font-size:17px;color:var(--ink-text);resize:vertical}.generate-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.btn-gold{font-family:var(--display);font-size:13px;letter-spacing:3px;background:var(--gold);color:var(--ink);border:none;border-radius:2px;padding:12px 32px;cursor:pointer}.btn-gold:disabled{background:#8a7444;cursor:wait}.btn-outline{font-family:var(--display);font-size:12px;letter-spacing:2.5px;background:transparent;color:var(--gold);border:1px solid var(--gold);border-radius:2px;padding:10px 24px;cursor:pointer}.btn-outline:disabled{color:#8a7b57;border-color:#5c5138;cursor:wait}.btn-ghost{font-family:var(--display);font-size:10px;letter-spacing:1.5px;color:var(--gold);border:1px solid var(--gold);background:transparent;border-radius:2px;padding:4px 12px;cursor:pointer;transition:color .15s,border-color .15s}.btn-ghost:disabled{color:#8a7b57;border-color:#5c5138;cursor:wait}.hint-inline{font-style:italic;font-size:15px;color:var(--muted)}.error-note{margin-top:16px;font-size:16px;color:#8a3b2a}.big-idea{text-align:center;margin-bottom:32px}.big-idea .label{font-family:var(--display);font-size:11px;letter-spacing:3px;color:var(--gold-soft)}.big-idea p{font-size:23px;font-style:italic;color:var(--parch);margin-top:6px;line-height:1.35}.rope{position:relative}.rope:before{content:"";position:absolute;left:21px;top:24px;bottom:24px;width:1px;background:linear-gradient(var(--gold),var(--gold-soft));opacity:.55}@media (max-width: 540px){.rope:before{display:none}}.movement{display:flex;gap:16px;margin-bottom:28px;position:relative}.medallion{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--gold);background:var(--ink-soft);color:var(--gold-soft);font-family:var(--display);font-size:16px;letter-spacing:1px;display:flex;align-items:center;justify-content:center;flex-shrink:0}@media (max-width: 540px){.medallion{display:none}}.movement-card{flex:1;background:var(--parch);color:var(--ink-text);border:1px solid var(--rule);border-radius:2px;padding:20px}.movement-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.movement-head h2{font-family:var(--display);font-weight:400;font-size:15px;letter-spacing:2px;color:var(--ink-text)}.movement-head h2 .num{color:var(--gold);display:none}@media (max-width: 540px){.movement-head h2 .num{display:inline}}.movement-head .sub{font-style:italic;font-size:15px;color:var(--gold)}.movement-hint{font-style:italic;font-size:14.5px;color:var(--muted);margin-top:2px}.movement-notes{width:100%;margin-top:12px;background:transparent;border:none;border-top:1px solid var(--rule);padding:10px 2px 2px;font-family:var(--serif);font-size:17.5px;line-height:1.5;color:var(--ink-text);resize:vertical}.movement-actions{display:flex;gap:8px;margin-top:12px}.portable{background:var(--ink-soft);border:1.5px solid var(--gold);border-radius:2px;text-align:center;padding:24px;margin:8px 0 32px}.portable .label{font-family:var(--display);font-size:11px;letter-spacing:3px;color:var(--gold-soft)}.portable .devanagari{font-size:24px;color:var(--parch);margin-top:10px;line-height:1.4}.portable .roman{font-style:italic;font-size:17px;color:var(--gold-soft);margin-top:4px}.portable .english{font-size:16px;color:var(--rule);margin-top:6px}.actions-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.colophon{text-align:center;margin-top:56px}.colophon p{font-style:italic;font-size:15.5px;color:var(--muted-dark);margin-top:12px}.gate{max-width:420px;margin:12vh auto 0;text-align:center}.gate .panel{padding:32px 28px}.gate input{width:100%;margin:16px 0 20px;background:transparent;border:none;border-bottom:1.5px solid var(--rule);padding:6px 2px;font-family:var(--serif);font-size:20px;text-align:center;color:var(--ink-text)}input::placeholder,textarea::placeholder{color:#7a6f57;opacity:1}input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}@media print{body{background:#fff}.panel,.btn-gold,.btn-outline,.btn-ghost,.colophon,.movement-actions{display:none!important}.movement-card,.portable{border:1px solid #999;color:#000;background:#fff}.portable *,.big-idea p{color:#000!important}}
