*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#faf9f6;color:#1c1c1c}.app{max-width:640px;margin:0 auto;padding:4rem 1.5rem}.app__header h1{font-size:1.5rem;font-weight:600;margin:0 0 2rem}.app__status{font-style:italic;color:#666}.app__error{color:#b00020}.prayer-input__prompt{font-size:1.5rem;font-weight:600;margin:0 0 .5rem;line-height:1.25}.prayer-input__subline{margin:0 0 1.25rem;color:#555;font-size:.95rem;line-height:1.5}.prayer-input__textarea{width:100%;padding:1rem;font-size:1rem;font-family:inherit;border:1px solid #ddd;border-radius:8px;resize:vertical;background:#fff;transition:border-color .2s}.prayer-input__textarea:focus{outline:none;border-color:#6b8af0}.prayer-input__actions{display:flex;justify-content:flex-end;margin-top:1rem}.prayer-input__submit,.result__restart,.app__error button{padding:.625rem 1.25rem;font-size:1rem;font-family:inherit;border:none;border-radius:6px;background:#1c1c1c;color:#fff;cursor:pointer;transition:opacity .2s}.prayer-input__submit:disabled{opacity:.4;cursor:not-allowed}.result__title{font-size:1.5rem;font-weight:600;margin:0 0 .75rem;line-height:1.25}.result__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.result__chip{display:inline-block;padding:.25rem .625rem;font-size:.75rem;font-weight:500;letter-spacing:.02em;border-radius:999px;background:#1c1c1c;color:#fff}.result__chip--muted{background:#ececec;color:#555}.result__video{position:relative;width:100%;padding-top:56.25%;margin-bottom:1.5rem;background:#000;border-radius:10px;overflow:hidden}.result__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.result__no-video{padding:1rem 1.25rem;margin-bottom:1.5rem;background:#fff8e6;border:1px solid #f0d98c;border-radius:8px;color:#6b5300;font-size:.9rem;line-height:1.5}.result__no-video p{margin:0}.result__section{margin-bottom:1.5rem}.result__section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#777;margin:0 0 .5rem}.result__section p,.result__section ul{margin:0;font-size:1rem}.result__section ul{padding-left:1.25rem}.result__restart{margin-top:1rem}.debug-fab{position:fixed;bottom:1.25rem;right:1.25rem;padding:.5rem .875rem;font-size:.75rem;font-family:inherit;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:1px solid #ddd;border-radius:999px;background:#fff;color:#555;cursor:pointer;box-shadow:0 2px 8px #0000000f;z-index:20}.debug-fab--on{background:#1c1c1c;border-color:#1c1c1c;color:#fff}.debug-panel{position:fixed;bottom:4rem;right:1.25rem;width:min(440px,calc(100vw - 2.5rem));max-height:calc(100vh - 6rem);display:flex;flex-direction:column;background:#1c1c1c;color:#f5f5f5;border-radius:10px;box-shadow:0 12px 32px #00000040;z-index:19;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.debug-panel__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #333;font-size:.85rem}.debug-panel__close{background:transparent;border:none;color:#aaa;font-size:1.25rem;line-height:1;cursor:pointer}.debug-panel__body{overflow:auto;padding:.75rem 1rem 1rem}.debug-panel__empty{padding:1rem;margin:0;color:#888;font-size:.8rem}.debug-panel section{margin-bottom:1rem}.debug-panel h4{margin:0 0 .375rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#888}.debug-panel pre{margin:0;padding:.625rem .75rem;background:#2a2a2a;border-radius:6px;font-size:.75rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.debug-panel__table{width:100%;border-collapse:collapse;font-size:.75rem}.debug-panel__table td{padding:.25rem .5rem;border-bottom:1px solid #2a2a2a}.debug-panel__table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.debug-panel__total td{font-weight:600;border-bottom:none;padding-top:.5rem}.debug-panel__rates{margin:.5rem 0 0;font-size:.7rem;color:#888}.debug-panel__scale-heading{margin-top:.875rem!important}.gate__form{display:flex;flex-direction:column;gap:.75rem;max-width:320px}.gate__prompt{margin:0;color:#555;font-size:.95rem}.gate__input{padding:.75rem 1rem;font-size:1rem;font-family:inherit;border:1px solid #ddd;border-radius:8px;background:#fff}.gate__input:focus{outline:none;border-color:#6b8af0}.gate__submit{padding:.625rem 1.25rem;font-size:1rem;font-family:inherit;border:none;border-radius:6px;background:#1c1c1c;color:#fff;cursor:pointer;align-self:flex-start}.gate__submit:disabled{opacity:.4;cursor:not-allowed}.gate__error{margin:0;color:#b00020;font-size:.875rem}
