*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080706;--bg-raised: #0e0c0a;--bg-card: #111009;--text: #d4c9b6;--text-dim: #7a7268;--text-faint: #3d3a35;--border: #1e1c17;--border-mid: #2a2820;--gold: #c9a84c;--burgun: #b03040;--teal: #2a9d8a;--font-display: "Cinzel Decorative", serif;--font-serif: "Cinzel", serif;--font-body: "EB Garamond", serif;--radius: 6px;--transition: .3s ease}html,body{height:100%;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:22px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}.grain{pointer-events:none;position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;z-index:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:256px 256px;animation:grain-drift 8s steps(10) infinite}@keyframes grain-drift{0%{transform:translate(0)}10%{transform:translate(-2%,-3%)}20%{transform:translate(3%,1%)}30%{transform:translate(-1%,4%)}40%{transform:translate(4%,-2%)}50%{transform:translate(-3%,2%)}60%{transform:translate(1%,-4%)}70%{transform:translate(-4%,3%)}80%{transform:translate(2%,-1%)}90%{transform:translate(-2%,4%)}to{transform:translate(0)}}.vignette{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse 80% 80% at 50% 50%,transparent 40%,rgba(0,0,0,.55) 100%)}.inner{position:relative;z-index:1;max-width:480px;width:100%;margin:0 auto;padding:0 20px 60px;display:flex;flex-direction:column;align-items:center}.site-header{text-align:center;padding-top:52px;padding-bottom:40px;width:100%}.site-title{font-family:var(--font-display);font-size:clamp(1.9rem,7.5vw,2.6rem);font-weight:700;letter-spacing:.04em;color:var(--text);line-height:1.1;text-transform:uppercase}.title-dot{color:var(--gold)}.divider-rule{display:flex;align-items:center;gap:12px;width:100%;max-width:320px;margin:16px auto 12px}.rule-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border-mid),transparent)}.rule-symbols{font-size:.9rem;letter-spacing:.1em;color:var(--text-dim);white-space:nowrap;font-variant-emoji:text}.site-tagline{font-family:var(--font-serif);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.main-content{width:100%;display:flex;flex-direction:column;align-items:center}.idle-view{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.record-button-wrap{display:flex;flex-direction:column;align-items:center;gap:24px;position:relative;padding:40px 0 8px}.ring{position:absolute;top:40px;left:50%;transform:translate(-50%);border-radius:50%;pointer-events:none}.ring-outer{width:180px;height:180px;border:1px dashed var(--border-mid);transform-origin:center center;position:relative;top:0;left:0;transform:none;margin-bottom:0}.record-button-wrap{position:relative}.record-button-wrap>*{flex-shrink:0}.ring-outer,.ring-middle{position:absolute;border-radius:50%;pointer-events:none;top:40px;left:50%}.ring-outer{width:180px;height:180px;margin-left:-90px;margin-top:-90px;border:1px dashed var(--border-mid)}.ring-dot{position:absolute;width:7px;height:7px;background:var(--gold);border-radius:50%;top:-3.5px;left:50%;margin-left:-3.5px;box-shadow:0 0 6px var(--gold)}.ring-middle{width:148px;height:148px;margin-left:-74px;margin-top:-74px;border:1px solid rgba(201,168,76,.18)}.ripple{position:absolute;width:110px;height:110px;top:40px;left:50%;margin-left:-55px;margin-top:-55px;border-radius:50%;border:1.5px solid rgba(201,168,76,.3);pointer-events:none}.record-core{position:relative;z-index:2;width:110px;height:110px;border-radius:50%;border:1.5px solid var(--border-mid);background:var(--bg-raised);cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;outline:none;transition:border-color var(--transition),background var(--transition);margin-top:-15px}.record-button-wrap{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center;flex-direction:column}.ring-outer{top:50%;left:50%;margin-top:-90px;margin-left:-90px}.ring-middle{top:50%;left:50%;margin-top:-74px;margin-left:-74px}.ripple{top:50%;left:50%;margin-top:-55px;margin-left:-55px}.record-core{position:relative;z-index:2;width:110px;height:110px;border-radius:50%;border:1.5px solid var(--border-mid);background:var(--bg-raised);cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;outline:none;transition:border-color var(--transition),background var(--transition);margin:0}.record-core.recording{border-color:#c9a84c80;background:#131108}.record-core.denied{border-color:#3a2020;cursor:not-allowed}.mic-icon{display:flex;align-items:center;justify-content:center}.record-label{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);font-family:var(--font-serif);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap}.loading-oracle{display:flex;flex-direction:column;align-items:center;gap:36px;padding:40px 0 20px}.oracle-orbit{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center}.orbit-symbol{position:absolute;top:50%;left:50%;transform-origin:0 0}.oracle-center{position:relative;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.oracle-inner-ring{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-mid);border-top-color:var(--gold)}.oracle-text{font-family:var(--font-serif);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim)}.transcript-bubble{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;font-size:1.05rem;line-height:1.55;width:100%;color:var(--text-dim)}.transcript-label{font-family:var(--font-serif);font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint)}.transcript-text{color:var(--text);font-style:italic}.three-panel{width:100%;display:flex;flex-direction:column;align-items:center;gap:16px}.cards-stack{width:100%;display:flex;flex-direction:column;gap:12px}.verse-card{background:var(--bg-card);border:1px solid var(--border);border-top:2px solid var(--card-color, var(--gold));border-radius:var(--radius);padding:16px 18px 18px;position:relative;overflow:hidden}.verse-card:before{content:"";position:absolute;top:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,color-mix(in srgb,var(--card-color, var(--gold)) 6%,transparent),transparent);pointer-events:none}.verse-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.verse-glyph{font-size:1.1rem;line-height:1;font-variant-emoji:text}.verse-label{font-family:var(--font-serif);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;flex:1}.verse-similarity{font-family:var(--font-serif);font-size:.75rem;letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase}.verse-reference{font-family:var(--font-serif);font-size:.85rem;letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;margin-bottom:8px;font-weight:600}.verse-text{font-family:var(--font-body);font-size:1.2rem;line-height:1.8;color:var(--text);font-style:italic}.reset-btn{margin-top:8px;background:transparent;border:1px solid var(--border-mid);color:var(--text-dim);padding:12px 32px;border-radius:var(--radius);font-family:var(--font-serif);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:border-color var(--transition),color var(--transition);outline:none}.reset-btn:hover{border-color:#c9a84c66;color:var(--gold)}.error-msg{background:#b030401a;border:1px solid rgba(176,48,64,.25);border-radius:var(--radius);padding:12px 18px;font-size:1rem;color:#d06070;text-align:center;width:100%;max-width:340px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:3px}::selection{background:#c9a84c33;color:var(--text)}
