@import "https://fonts.googleapis.com/css2?family=Marcellus&family=Albert+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--ink:#0f1317;--surface:#1a2129;--surface-2:#232c36;--brass:#c9a227;--brass-dim:#8a7322;--parchment:#ede6d6;--parchment-dim:#a89f8c;--sindoor:#c04a33;--font-display:"Marcellus", serif;--font-body:"Albert Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--parchment);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}.scroll-progress{z-index:80;pointer-events:none;background:linear-gradient(90deg, var(--brass-dim), var(--brass) 55%, #e7ce7a);height:2px;transform:scaleX(var(--scroll-p,0));transform-origin:0;position:fixed;top:0;left:0;right:0;box-shadow:0 0 12px #c9a22766}.app-backdrop{z-index:-1;pointer-events:none;background:radial-gradient(1100px 540px at 82% -8%,#c9a22713,#0000 62%),radial-gradient(900px 560px at 6% 108%,#c04a330d,#0000 60%);position:fixed;inset:0;overflow:hidden}.app-backdrop:before,.app-backdrop:after{content:"";background-repeat:repeat;position:absolute;inset:-280px 0}.app-backdrop:before{transform:translate3d(0, calc(var(--scroll-y,0) * -.05px), 0);background-image:radial-gradient(1.3px 1.3px at 62px 117px,#ede6d666,#0000 100%),radial-gradient(1px 1px at 213px 40px,#ede6d647,#0000 100%),radial-gradient(1.6px 1.6px at 331px 254px,#c9a22766,#0000 100%),radial-gradient(1px 1px at 459px 148px,#ede6d640,#0000 100%),radial-gradient(1.2px 1.2px at 553px 342px,#ede6d652,#0000 100%),radial-gradient(1px 1px at 148px 431px,#c9a2274d,#0000 100%),radial-gradient(1.4px 1.4px at 412px 519px,#ede6d659,#0000 100%),radial-gradient(1px 1px at 611px 88px,#ede6d638,#0000 100%);background-size:680px 620px}.app-backdrop:after{transform:translate3d(0, calc(var(--scroll-y,0) * -.11px), 0);background-image:radial-gradient(1px 1px at 104px 66px,#ede6d629,#0000 100%),radial-gradient(1px 1px at 297px 199px,#c9a2272e,#0000 100%),radial-gradient(1px 1px at 501px 313px,#ede6d624,#0000 100%),radial-gradient(1px 1px at 187px 388px,#ede6d61f,#0000 100%),radial-gradient(1px 1px at 566px 137px,#ede6d626,#0000 100%);background-size:540px 480px}.reveal{opacity:0;transition:opacity .9s cubic-bezier(.22, 1, .36, 1) var(--rd,0s), transform .9s cubic-bezier(.22, 1, .36, 1) var(--rd,0s);transform:translateY(24px)}.reveal.reveal-scale{transform:translateY(18px)scale(.965)}.reveal.in{opacity:1;transform:none}.reveal.reveal-quiet{opacity:1;transition:none;transform:none}.reveal .placements tbody tr{opacity:0}.reveal.in .placements tbody tr{animation:.5s ease-out .66s forwards row-in}.reveal.in .placements tbody tr:first-child{animation-delay:60ms}.reveal.in .placements tbody tr:nth-child(2){animation-delay:.11s}.reveal.in .placements tbody tr:nth-child(3){animation-delay:.16s}.reveal.in .placements tbody tr:nth-child(4){animation-delay:.21s}.reveal.in .placements tbody tr:nth-child(5){animation-delay:.26s}.reveal.in .placements tbody tr:nth-child(6){animation-delay:.31s}.reveal.in .placements tbody tr:nth-child(7){animation-delay:.36s}.reveal.in .placements tbody tr:nth-child(8){animation-delay:.41s}.reveal.in .placements tbody tr:nth-child(9){animation-delay:.46s}.reveal.in .placements tbody tr:nth-child(10){animation-delay:.51s}.reveal.in .placements tbody tr:nth-child(11){animation-delay:.56s}.reveal.in .placements tbody tr:nth-child(12){animation-delay:.61s}@keyframes row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.reveal .rail .seg{transform-origin:0;transform:scaleX(0)}.reveal.in .rail .seg{animation:.7s cubic-bezier(.22,1,.36,1) .64s forwards seg-grow}.reveal.in .rail .seg:first-child{animation-delay:0s}.reveal.in .rail .seg:nth-child(2){animation-delay:70ms}.reveal.in .rail .seg:nth-child(3){animation-delay:.14s}.reveal.in .rail .seg:nth-child(4){animation-delay:.21s}.reveal.in .rail .seg:nth-child(5){animation-delay:.28s}.reveal.in .rail .seg:nth-child(6){animation-delay:.35s}.reveal.in .rail .seg:nth-child(7){animation-delay:.42s}.reveal.in .rail .seg:nth-child(8){animation-delay:.49s}.reveal.in .rail .seg:nth-child(9){animation-delay:.56s}@keyframes seg-grow{to{transform:scaleX(1)}}.shell{max-width:1080px;margin:0 auto;padding:24px 20px 80px}.masthead{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#0f1317f2,#0f1317d1);border-bottom:1px solid #c9a22747;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin:-24px -20px 30px;padding:22px 20px 14px;display:flex;position:sticky;top:0}.masthead-title{align-items:baseline;gap:14px;display:flex}.masthead h1{font-family:var(--font-display);letter-spacing:.12em;background:linear-gradient(110deg, #e7ce7a 0%, var(--brass) 35%, var(--brass-dim) 55%, var(--brass) 75%, #e7ce7a 100%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:400;animation:9s linear infinite brass-sheen}.masthead .tagline{color:var(--parchment-dim);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.authbar{align-items:center;gap:10px;font-size:13px;display:flex}.auth-who{color:var(--parchment);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12px;overflow:hidden}.auth-link{color:var(--brass);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px}.auth-link:hover{text-decoration:underline}.auth-form{background:var(--surface);border:1px solid var(--brass-dim);border-radius:6px;flex-direction:column;gap:6px;min-width:220px;padding:12px;display:flex}.auth-tabs{gap:4px;display:flex}.auth-tabs button{color:var(--parchment-dim);cursor:pointer;background:0 0;border:1px solid #2c3743;border-radius:4px;flex:1;padding:5px;font-size:12px}.auth-tabs button.on{color:var(--brass);border-color:var(--brass-dim)}.auth-form input{background:var(--ink);color:var(--parchment);font-family:var(--font-mono);border:1px solid #2c3743;border-radius:4px;padding:7px 9px;font-size:13px}.auth-form input:focus{outline:2px solid var(--brass);border-color:var(--brass)}.auth-actions{align-items:center;gap:8px;display:flex}.auth-actions button[type=submit]{background:var(--brass);color:var(--ink);cursor:pointer;border:none;border-radius:4px;padding:7px 12px;font-size:13px;font-weight:600}.auth-actions button[type=submit]:disabled{background:var(--brass-dim);cursor:wait}.auth-err{color:var(--sindoor);font-size:12px}.auth-info{color:var(--parchment-dim);font-size:12px}.auth-divider{color:var(--parchment-dim);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:10px;margin:2px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#2c3743;flex:1;height:1px}.google-btn-slot{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;justify-content:center;min-height:40px;display:flex}.login-gate{background:radial-gradient(1100px 480px at 82% 18%, #c9a22714, transparent 62%), radial-gradient(800px 520px at 8% 95%, #c04a330f, transparent 60%), linear-gradient(180deg, #1d2530 0%, var(--surface) 70%);border:1px solid #c9a22738;border-radius:14px;grid-template-columns:minmax(0,1.15fr) minmax(300px,380px);align-items:center;gap:48px;min-height:560px;margin-top:8px;padding:56px 52px;display:grid;position:relative;overflow:hidden;box-shadow:0 40px 80px -50px #000000e6}.login-gate .rise{opacity:0;animation:.9s cubic-bezier(.22,1,.36,1) forwards gate-rise;transform:translateY(16px)}@keyframes gate-rise{to{opacity:1;transform:none}}.login-gate-copy{z-index:1;position:relative}.login-gate .glyph-row{font-family:var(--font-display);color:var(--brass-dim);gap:18px;margin-bottom:22px;font-size:20px;display:flex}.login-gate .glyph-row span{display:inline-block}.login-gate-copy h2{font-family:var(--font-display);letter-spacing:.02em;background:linear-gradient(110deg, #e7ce7a 0%, var(--brass) 35%, var(--brass-dim) 55%, var(--brass) 75%, #e7ce7a 100%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:clamp(28px,4.2vw,42px);font-weight:400;line-height:1.15;animation:9s linear infinite brass-sheen}@keyframes brass-sheen{to{background-position:-200% 0}}.login-gate-copy h2:after{content:"";background:linear-gradient(90deg, var(--brass), transparent);transform-origin:0;width:64px;height:2px;margin-top:16px;animation:.8s cubic-bezier(.22,1,.36,1) .7s forwards rule-draw;display:block;transform:scaleX(0)}@keyframes rule-draw{to{transform:scaleX(1)}}.gate-lede{color:var(--parchment-dim);max-width:48ch;font-size:15.5px;line-height:1.7}.gate-points{gap:10px;margin-top:24px;padding:0;list-style:none;display:grid}.gate-points li{color:var(--parchment);align-items:baseline;gap:10px;font-size:14px;display:flex}.gate-points .tick{color:var(--brass);text-shadow:0 0 12px #c9a2278c;font-size:12px}.gate-astrolabe{z-index:0;pointer-events:none;width:620px;height:620px;position:absolute;top:50%;right:-48px;transform:translateY(-50%)}.asl-ring{fill:none;stroke:#c9a22742;stroke-width:1px}.asl-ring.draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:2.4s cubic-bezier(.4,0,.2,1) forwards asl-draw}.asl-ring.dashed{stroke-dasharray:2 6;opacity:0;animation:1.4s .9s forwards asl-fade}.asl-tick{stroke:#c9a2274d;stroke-width:1px}.asl-tick.major{stroke:#c9a2278c;stroke-width:1.4px}.asl-spin,.asl-orbit,.asl-sun-halo{transform-box:view-box;transform-origin:50%}.asl-spin{animation:240s linear infinite asl-rotate}.asl-spin.rev{animation-duration:180s;animation-direction:reverse}.asl-orbit{animation-name:asl-rotate;animation-timing-function:linear;animation-iteration-count:infinite}.asl-orbit.rev{animation-direction:reverse}.asl-planet{fill:var(--brass)}.asl-planet.dim{fill:var(--brass-dim)}.asl-sun-core{fill:var(--brass)}.asl-sun-halo{fill:#c9a2272e;animation:5s ease-in-out infinite asl-pulse}@keyframes asl-rotate{to{transform:rotate(360deg)}}@keyframes asl-draw{to{stroke-dashoffset:0}}@keyframes asl-fade{to{opacity:1}}@keyframes asl-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}.gate-card{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#232c36eb,#1a2129f7) padding-box padding-box,linear-gradient(165deg,#ddba3eb3,#c9a2271f 38%,#8a73228c) border-box;border:1px solid #0000;border-radius:14px;position:relative;box-shadow:0 30px 60px -30px #000c,0 0 80px -40px #c9a22759}.login-gate .auth-form{background:0 0;border:none;gap:12px;width:100%;min-width:0;padding:26px 24px}.login-gate .auth-tabs{background:#0f1317b3;border:1px solid #2c3743;border-radius:999px;gap:4px;padding:4px}.login-gate .auth-tabs button{letter-spacing:.03em;border:none;border-radius:999px;padding:8px 10px;transition:color .25s,background .25s,box-shadow .25s}.login-gate .auth-tabs button.on{color:var(--brass);background:#c9a22724;box-shadow:inset 0 0 0 1px #c9a22773}.login-gate .auth-tabs button:not(.on):hover{color:var(--parchment)}.login-gate .auth-form input{background:#0f1317bf;border:1px solid #2c3743;border-radius:8px;padding:12px 14px;font-size:14px;transition:border-color .25s,box-shadow .25s,background .25s}.login-gate .auth-form input:focus{border-color:var(--brass);background:var(--ink);outline:none;box-shadow:0 0 0 3px #c9a22726}.login-gate .auth-actions{margin-top:4px}.login-gate .auth-actions button[type=submit]{letter-spacing:.04em;background:linear-gradient(180deg, #ddba3e, var(--brass));border-radius:8px;flex:1;padding:12px 16px;font-size:14px;transition:transform .2s,box-shadow .2s,filter .2s;position:relative;overflow:hidden;box-shadow:0 10px 24px -12px #c9a2278c}.login-gate .auth-actions button[type=submit]:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 14px 30px -12px #c9a227b3}.login-gate .auth-actions button[type=submit]:after{content:"";background:linear-gradient(105deg,#0000 42%,#fff6 50%,#0000 58%);position:absolute;inset:0;transform:translate(-130%)}.login-gate .auth-actions button[type=submit]:hover:not(:disabled):after{transition:transform .7s;transform:translate(130%)}.login-gate .auth-actions button[type=submit]:disabled{background:var(--brass-dim);box-shadow:none}.login-gate .auth-divider{margin:6px 0 2px}.login-gate .auth-divider:before,.login-gate .auth-divider:after{background:#c9a22738}@media (width<=900px){.login-gate{grid-template-columns:1fr;gap:32px;min-height:0;padding:40px 26px}.gate-astrolabe{opacity:.35;width:480px;height:480px;top:55%;right:50%;transform:translate(50%,-50%)}}@media (prefers-reduced-motion:reduce){.login-gate .rise{opacity:1;animation:none;transform:none}.login-gate-copy h2{animation:none}.login-gate-copy h2:after{animation:none;transform:none}.gate-astrolabe *{animation:none!important}.asl-ring.draw{stroke-dashoffset:0}.asl-ring.dashed{opacity:1}.login-gate .auth-actions button[type=submit]:hover:not(:disabled){transform:none}.login-gate .auth-actions button[type=submit]:after{content:none}}.workbench{grid-template-columns:300px 1fr;gap:26px;display:grid}@media (width<=820px){.workbench{grid-template-columns:1fr}}.panel{background:linear-gradient(#232c36e0,#1a2129f5) padding-box padding-box,linear-gradient(165deg,#ddba3e80,#c9a2271a 40%,#8a732266) border-box;border:1px solid #0000;border-radius:14px;padding:22px;position:relative;box-shadow:0 34px 70px -46px #000000e6}.panel h2{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--brass);margin-bottom:16px;font-size:15px;font-weight:400}.panel h2:after{content:"";background:linear-gradient(90deg, var(--brass), transparent);transform-origin:0;width:56px;height:2px;margin-top:10px;transition:transform .9s cubic-bezier(.22,1,.36,1) .35s;display:block;transform:scaleX(0)}.reveal.in h2:after{transform:scaleX(1)}@media (width>=821px){.birth-panel{align-self:start;position:sticky;top:96px}}.field{margin-bottom:12px}.field label{letter-spacing:.08em;text-transform:uppercase;color:var(--parchment-dim);margin-bottom:4px;font-size:11px;display:block}.field input,.field select{width:100%;color:var(--parchment);font-family:var(--font-mono);background:#0f1317bf;border:1px solid #2c3743;border-radius:8px;padding:10px 12px;font-size:14px;transition:border-color .25s,box-shadow .25s,background .25s}.field input:focus,.field select:focus{border-color:var(--brass);background:var(--ink);outline:none;box-shadow:0 0 0 3px #c9a22726}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.location-resolved{margin-bottom:12px}.location-resolved-coords{font-family:var(--font-mono);color:var(--parchment-dim);margin-bottom:6px;font-size:12.5px;display:block}.link-btn{color:var(--brass);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;text-decoration:underline}.link-btn:hover{color:var(--brass-dim)}.city-search{position:relative}.city-results{z-index:10;background:var(--ink);border:1px solid var(--brass-dim);border-radius:4px;max-height:220px;margin-top:2px;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.city-results li button{text-align:left;cursor:pointer;width:100%;color:var(--parchment);font-family:var(--font-mono);background:0 0;border:none;padding:7px 10px;font-size:13px;display:block}.city-results li button:hover,.city-results li button:focus{background:#c9a22726;outline:none}.compute-btn{background:linear-gradient(180deg, #ddba3e, var(--brass));width:100%;color:var(--ink);font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;border:none;border-radius:8px;margin-top:6px;padding:12px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s,filter .2s;position:relative;overflow:hidden;box-shadow:0 10px 24px -12px #c9a2278c}.compute-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 14px 30px -12px #c9a227b3}.compute-btn:after{content:"";background:linear-gradient(105deg,#0000 42%,#fff6 50%,#0000 58%);position:absolute;inset:0;transform:translate(-130%)}.compute-btn:hover:not(:disabled):after{transition:transform .7s;transform:translate(130%)}.compute-btn:disabled{background:var(--brass-dim);box-shadow:none;cursor:wait}.actions-row{grid-template-columns:2fr 1fr;align-items:stretch;gap:10px;display:grid}.save-btn{color:var(--brass);border:1px solid var(--brass);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:8px;margin-top:6px;font-size:14px;font-weight:600;transition:background .12s,color .12s}.save-btn:hover{background:var(--brass);color:var(--ink)}.err{border:1px solid var(--sindoor);color:var(--sindoor);border-radius:4px;margin-top:10px;padding:10px;font-size:13px}.saved-charts{margin-top:18px}.saved-charts h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--brass);margin-bottom:8px;font-size:12px}.saved-charts ul{gap:4px;padding:0;list-style:none;display:grid}.saved-charts li{gap:6px;display:flex}.saved-load{text-align:left;background:var(--surface-2);color:var(--parchment);font-family:var(--font-body);cursor:pointer;border:1px solid #2c3743;border-radius:4px;flex:1;padding:7px 10px;font-size:13px}.saved-load:hover{border-color:var(--brass);color:var(--brass)}.saved-del{color:var(--parchment-dim);cursor:pointer;background:0 0;border:1px solid #2c3743;border-radius:4px;width:32px;font-size:15px;line-height:1}.saved-del:hover{color:var(--sindoor);border-color:var(--sindoor)}.tabs{background:#0f1317b3;border:1px solid #2c3743;border-radius:999px;flex-wrap:wrap;gap:4px;max-width:100%;margin-bottom:16px;padding:4px;display:inline-flex}.tabs button{color:var(--parchment-dim);font-family:var(--font-body);letter-spacing:.05em;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 18px;font-size:13px;transition:color .25s,background .25s,box-shadow .25s}.tabs button[aria-selected=true]{color:var(--brass);background:#c9a22724;box-shadow:inset 0 0 0 1px #c9a22773}.tabs button:not([aria-selected=true]):hover{color:var(--parchment)}.tabs button:focus-visible{outline:2px solid var(--brass)}.chart-paper{background:radial-gradient(120% 90% at 50% 0%, #f4eedf 0%, var(--parchment) 60%, #e3d9c2 100%);border-radius:10px;justify-content:center;padding:20px;display:flex;box-shadow:inset 0 1px #fff9,0 24px 48px -28px #000c}.south-chart .cell-line{stroke:#6b5b2a;stroke-width:1.4px;fill:none}.south-chart .draw{stroke-dasharray:2400;stroke-dashoffset:2400px;animation:1.6s forwards drawline}@keyframes drawline{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.south-chart .draw{stroke-dashoffset:0;animation:none}}.south-chart .sign-label{font-family:var(--font-mono);fill:#8a7a52;letter-spacing:.04em;font-size:7.5px}.south-chart .planet{font-family:var(--font-mono);fill:#2a2417;font-size:10px;font-weight:500}.south-chart .planet.retro{fill:var(--sindoor)}.south-chart .lagna-mark{stroke:var(--sindoor);stroke-width:1.6px}.wheel .ring{stroke:#6b5b2a;fill:none}.wheel .spoke{stroke:#b5a87f;stroke-width:.7px}.wheel .glyph{font-family:var(--font-mono);fill:#2a2417;font-size:11px}.wheel .deg{font-family:var(--font-mono);fill:#8a7a52;font-size:7px}.wheel .asp-line{stroke-width:.9px;opacity:.55}.placements{border-collapse:collapse;width:100%;margin-top:16px}.placements th{letter-spacing:.1em;text-transform:uppercase;color:var(--parchment-dim);text-align:left;border-bottom:1px solid var(--brass-dim);padding:6px 8px;font-size:10px;font-weight:500}.placements td{font-family:var(--font-mono);border-bottom:1px solid #2c3743;padding:6px 8px;font-size:12.5px}.placements .retro{color:var(--sindoor)}.placements .dignity-good{color:var(--brass)}.placements .dignity-bad{color:var(--sindoor)}.placements tbody tr{transition:background .2s}.placements tbody tr:hover{background:#c9a2270f}.dasha-rail{margin-top:18px}.dasha-rail h3{font-family:var(--font-display);letter-spacing:.08em;color:var(--brass);margin-bottom:10px;font-size:14px;font-weight:400}.rail{border:1px solid var(--brass-dim);border-radius:4px;height:44px;display:flex;overflow:hidden}.rail .seg{font-family:var(--font-mono);color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;min-width:0;font-size:10px;display:flex;position:relative;overflow:hidden}.rail .seg.now{outline:2px solid var(--sindoor);outline-offset:-2px}.rail-legend{font-family:var(--font-mono);color:var(--parchment-dim);justify-content:space-between;margin-top:4px;font-size:10px;display:flex}.current-dasha{color:var(--parchment);margin-top:10px;font-size:13px}.current-dasha b{color:var(--brass);font-weight:600}.reading-controls{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.reading-controls select{color:var(--parchment);font-family:var(--font-body);background:#0f1317bf;border:1px solid #2c3743;border-radius:8px;padding:9px 12px;font-size:13px}.reading-controls button{color:var(--brass);border:1px solid var(--brass);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .2s,color .2s}.reading-controls button:hover{background:var(--brass);color:var(--ink)}.reading-controls button:disabled{opacity:.5;cursor:wait}.reading-text{background:var(--surface-2);border-left:3px solid var(--brass);white-space:pre-wrap;border-radius:10px;margin-top:14px;padding:18px 20px;font-size:14.5px;line-height:1.7;box-shadow:0 20px 40px -30px #000c}.hint{color:var(--parchment-dim);margin-top:8px;font-size:12px}.trial-status{font-family:var(--font-mono);color:var(--parchment-dim);flex-basis:100%;font-size:12px}.trial-status.free{color:var(--brass)}.unlock-panel{background:var(--surface-2);border:1px solid var(--brass-dim);border-radius:6px;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:14px;margin-top:14px;padding:16px 18px;display:flex}.unlock-panel p{color:var(--parchment);flex:1;min-width:200px;font-size:13.5px}.unlock-panel button{background:var(--brass);color:var(--ink);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:9px 16px;font-size:13px;font-weight:600}.unlock-panel button:hover{background:#ddba3e}.unlock-panel button:disabled{background:var(--brass-dim);cursor:wait}.rag-toggle{color:var(--parchment-dim);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.rag-toggle input{accent-color:var(--brass);cursor:pointer}.sources{background:var(--surface);border-left:3px solid var(--brass-dim);border-radius:6px;margin-top:12px;padding:12px 16px}.sources h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--brass);margin-bottom:8px;font-size:12px;font-weight:400}.sources ul{gap:6px;padding:0;list-style:none;display:grid}.sources li{flex-direction:column;display:flex}.src-cite{font-family:var(--font-mono);color:var(--parchment);font-size:12.5px}.src-work{color:var(--parchment-dim);font-size:11.5px}.feedback-widget{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.feedback-widget button{cursor:pointer;background:0 0;border:1px solid #2c3743;border-radius:4px;padding:3px 9px;font-size:14px;line-height:1.4}.feedback-widget button:hover{border-color:var(--brass)}.feedback-widget button:disabled{opacity:.5;cursor:wait}.feedback-comment{gap:6px;width:100%;margin-top:4px;display:flex}.feedback-comment textarea{resize:none;background:var(--ink);min-height:34px;color:var(--parchment);font-family:var(--font-body);border:1px solid #2c3743;border-radius:4px;flex:1;padding:6px 8px;font-size:12.5px}.feedback-thanks{margin-top:10px}.empty-state{text-align:center;color:var(--parchment-dim);padding:76px 20px;font-size:14px}.empty-state .glyph-row{font-family:var(--font-display);color:var(--brass-dim);justify-content:center;gap:22px;margin-bottom:18px;font-size:24px;display:flex}.empty-state .glyph-row span{text-shadow:0 0 18px #c9a22740;animation:5.5s ease-in-out infinite glyph-float}@keyframes glyph-float{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(-7px)}}.chat-panel{flex-direction:column;gap:4px;display:flex}.chat-suggestions{flex-direction:column;gap:8px;margin-bottom:4px;display:flex}.chat-suggestions button{background:var(--surface-2);color:var(--parchment);font-family:var(--font-body);cursor:pointer;border:1px solid #2c3743;border-radius:16px;align-self:flex-start;padding:7px 14px;font-size:13px}.chat-suggestions button:hover{border-color:var(--brass);color:var(--brass)}.chat-messages{flex-direction:column;gap:10px;max-height:420px;padding-right:4px;display:flex;overflow-y:auto}.chat-bubble{border-radius:8px;max-width:85%;padding:10px 14px;font-size:14px;line-height:1.6}.chat-bubble p{white-space:pre-wrap}.chat-bubble.user{background:var(--brass);color:var(--ink);align-self:flex-end}.chat-bubble.assistant{background:var(--surface-2);border-left:3px solid var(--brass);align-self:flex-start}.chat-bubble .sources{margin-top:10px}.chat-input-row{gap:8px;margin-top:10px;display:flex}.chat-input-row textarea{resize:none;background:var(--ink);min-height:44px;color:var(--parchment);font-family:var(--font-body);border:1px solid #2c3743;border-radius:4px;flex:1;padding:10px 12px;font-size:14px}.chat-input-row textarea:focus{outline:2px solid var(--brass);border-color:var(--brass)}.chat-input-row button{background:var(--brass);color:var(--ink);cursor:pointer;border:none;border-radius:4px;padding:0 18px;font-size:13px;font-weight:600}.chat-input-row button:disabled{background:var(--brass-dim);cursor:wait}.chat-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.chat-controls select{background:var(--ink);color:var(--parchment);font-family:var(--font-body);border:1px solid #2c3743;border-radius:4px;padding:8px 10px;font-size:13px}.chat-safety-note{color:var(--parchment-dim);border-top:1px solid #2c3743;margin-top:12px;padding-top:10px;font-size:11.5px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.reveal-scale{opacity:1;transition:none;transform:none}.reveal .placements tbody tr{opacity:1;animation:none!important}.reveal .rail .seg{transform:none;animation:none!important}.app-backdrop:before,.app-backdrop:after{transform:none}.empty-state .glyph-row span,.masthead h1{animation:none}.panel h2:after{transition:none;transform:scaleX(1)}.compute-btn:hover:not(:disabled){transform:none}.compute-btn:after{content:none}}
