:root{--navy:#08182b;--navy-2:#0e2438;--surface:#143049;--turquoise:#3fd0c0;--turq-dim:#1e8c86;--gold:#d9ae5f;--gold-dim:#8a6e36;--paper:#f3f1ea;--muted:#7c99ae;--glow:var(--turquoise);--tint:#0e2438;--display:"Cormorant", Georgia, serif;--ui:"Jost", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--navy);color:var(--paper);font-family:var(--ui);-webkit-font-smoothing:antialiased;font-weight:300}body{background-image:radial-gradient(78% 48% at 50% -12%,#3fd0c024,#0000),radial-gradient(58% 38% at 92% 100%,#d9ae5f1a,#0000);background-attachment:fixed;min-height:100vh}.shell{flex-direction:column;max-width:560px;min-height:100vh;margin:0 auto;padding:28px 20px 64px;display:flex}.brand{text-align:center;margin-bottom:8px}.brand h1{font-family:var(--display);letter-spacing:.22em;text-indent:.22em;color:var(--paper);font-size:44px;font-weight:400}.brand p{letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:var(--gold);border:1px solid #d9ae5f57;margin-top:9px;padding:5px 14px;font-size:11px;font-weight:400;display:inline-block}.intro{text-align:center;flex-direction:column;flex:1;justify-content:center;gap:26px;display:flex}.intro-line{font-family:var(--display);color:var(--paper);font-size:27px;font-style:italic;line-height:1.4}.intro-sub{color:var(--muted);max-width:330px;margin:0 auto;font-size:14px;line-height:1.7}.drop{text-align:center;cursor:pointer;background:#ffffff05;border:1px dashed #7c99ae57;border-radius:2px;padding:34px 20px;transition:border-color .25s,background .25s}.drop:hover{border-color:var(--gold);background:#d9ae5f0d}.drop span{color:var(--muted);margin-top:8px;font-size:13px;display:block}.drop strong{font-family:var(--display);color:var(--paper);font-size:21px;font-weight:400}.preview{border:1px solid #d9ae5f6b;border-radius:64px 64px 3px 3px;width:128px;height:158px;margin:0 auto;overflow:hidden}.preview img{object-fit:cover;width:100%;height:100%}.field{text-align:left;margin-bottom:16px}.field label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;font-size:11px;display:block}.field input{width:100%;color:var(--paper);font-family:var(--ui);background:0 0;border:none;border-bottom:1px solid #7c99ae47;outline:none;padding:9px 2px;font-size:16px;transition:border-color .2s}.field input:focus{border-bottom-color:var(--gold)}.field input::placeholder{color:#7c99ae8c}.btn{background:var(--gold);color:#08182b;width:100%;font-family:var(--ui);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;padding:15px;font-size:13px;font-weight:500;transition:transform .15s,opacity .2s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.32;cursor:not-allowed}.btn-ghost{color:var(--turquoise);background:0 0;border:1px solid #7c99ae4d}.btn-row{gap:10px;margin-top:12px;display:flex}.progress{gap:5px;margin:22px 0 30px;display:flex}.progress i{background:#7c99ae33;flex:1;height:1px;transition:background .4s}.progress i.on{background:var(--gold)}.q{flex-direction:column;flex:1;justify-content:center;display:flex}.q-title{font-family:var(--display);margin-bottom:6px;font-size:30px;line-height:1.28}.q-hint{color:var(--muted);margin-bottom:26px;font-size:13px}.opts{flex-direction:column;gap:9px;display:flex}.opt{color:var(--paper);font-family:var(--ui);text-align:left;cursor:pointer;background:#ffffff09;border:1px solid #0000;border-left:2px solid #7c99ae38;align-items:center;gap:13px;padding:15px 17px;font-size:15.5px;transition:all .18s;display:flex}.opt:hover{border-left-color:var(--gold);background:#d9ae5f14;padding-left:22px}.opt em{font-size:19px;font-style:normal}.back{color:var(--muted);font-family:var(--ui);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;margin-top:22px;font-size:12px}.back:hover{color:var(--turquoise)}.loading{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;display:flex}.orb{background:radial-gradient(circle at 34% 30%, var(--turquoise), transparent 62%), radial-gradient(circle at 68% 72%, var(--gold), transparent 58%);border-radius:50%;width:74px;height:74px;animation:2.6s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.68;transform:scale(1)}50%{opacity:1;transform:scale(1.13)}}.loading p{font-family:var(--display);color:var(--turquoise);font-size:20px;font-style:italic}.result{flex-direction:column;align-items:center;display:flex}.reading{text-align:center;width:100%;padding-bottom:8px}.reading-portrait{border:1px solid #d9ae5f73;border-radius:58px 58px 3px 3px;width:116px;height:145px;margin:0 auto 4px;position:relative;overflow:hidden}.reading-portrait img{object-fit:cover;filter:grayscale()contrast(1.1);width:100%;height:100%}.reading-portrait:after{content:"";background:var(--glow);mix-blend-mode:color;opacity:.42;position:absolute;inset:0}.reading-glyph{color:var(--gold);text-shadow:0 1px 6px #000000b3;z-index:2;font-size:18px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.reading-name{letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:12px;font-size:10px}.reading-archetype{font-family:var(--display);margin-top:3px;font-size:40px;font-weight:400;line-height:1.1}.reading-opening{font-family:var(--display);color:var(--turquoise);margin-top:14px;padding:0 6px;font-size:21px;font-style:italic;line-height:1.44}.reading-block{margin-top:22px}.reading-block h4{letter-spacing:.24em;text-transform:uppercase;color:var(--turquoise);background:#3fd0c012;border:1px solid #3fd0c057;margin-bottom:14px;padding:7px 18px;font-size:10px;font-weight:400;display:inline-block}.reading-block p{color:#f3f1eaeb;text-align:left;max-width:470px;margin:0 auto;font-size:16px;line-height:1.72}.reading-traits{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:14px;display:flex}.reading-traits li{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);background:#d9ae5f14;border:1px solid #d9ae5f73;padding:9px 16px;font-size:13.5px;font-weight:400;list-style:none}.reading-closing{font-family:var(--display);color:var(--paper);border-top:1px solid #d9ae5f38;margin-top:30px;padding:26px 10px 0;font-size:23px;font-style:italic;line-height:1.4}.card-label{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin:38px 0 12px;font-size:10px}.card{background:linear-gradient(170deg, var(--tint) 0%, var(--navy) 66%);border:1px solid #d9ae5f52;flex-direction:column;flex:none;align-items:center;width:320px;height:569px;padding:20px 22px 16px;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:radial-gradient(ellipse 78% 34% at 50% 0%, var(--glow), transparent 70%);opacity:.22;pointer-events:none;position:absolute;inset:0}.card>*{z-index:1;position:relative}.card-head{text-align:center;flex:none;margin-bottom:12px}.card-head b{font-family:var(--display);letter-spacing:.4em;text-indent:.4em;color:var(--paper);font-size:17px;font-weight:400;display:block}.card-head span{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-size:7px}.card-portrait{border:1px solid #d9ae5f8c;border-radius:48px 48px 2px 2px;flex:none;width:96px;height:120px;position:relative;overflow:hidden}.card-portrait img{object-fit:cover;filter:grayscale()contrast(1.14)brightness(.95);width:100%;height:100%}.card-portrait:after{content:"";background:var(--glow);mix-blend-mode:color;opacity:.45;position:absolute;inset:0}.card-name{letter-spacing:.32em;text-transform:uppercase;color:var(--muted);flex:none;margin-top:11px;font-size:8.5px}.card-archetype{font-family:var(--display);text-align:center;color:var(--paper);flex:none;margin-top:2px;font-size:30px;font-weight:400;line-height:1.08}.card-glyph{color:var(--gold);flex:none;margin-top:5px;font-size:13px}.card-side{text-align:center;flex:none;width:100%;margin-top:14px}.card-side h4{letter-spacing:.22em;text-transform:uppercase;color:var(--turquoise);background:#3fd0c014;border:1px solid #3fd0c05c;margin-bottom:8px;padding:4px 11px;font-size:8px;font-weight:400;display:inline-block}.card-side p{color:#f3f1eaeb;font-size:12.5px;line-height:1.48}.card-side.locked{background:#00000042;border:1px solid #d9ae5f3d;margin-top:16px;padding:13px 12px 12px;position:relative}.card-side.locked p.fragment{font-family:var(--display);color:var(--paper);font-size:15px;font-style:italic;line-height:1.42;-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.lock-more{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:9px;font-size:9px;display:inline-block}.card-cta{border-top:1px solid #d9ae5f3d;flex-direction:column;flex:none;align-items:center;gap:4px;width:100%;margin-top:auto;padding-top:14px;display:flex}.card-cta strong{letter-spacing:.22em;text-indent:.22em;color:var(--paper);font-size:13px;font-weight:500}.card-cta b{letter-spacing:.08em;color:var(--gold);font-size:11.5px;font-weight:400}.share-row{gap:8px;width:320px;margin-top:20px;display:flex}.share-row button{color:var(--paper);font-family:var(--ui);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;background:#ffffff0b;border:1px solid #7c99ae38;flex:1;padding:13px 6px;font-size:11px;transition:all .18s}.share-row button:hover{border-color:var(--gold);color:var(--gold)}.share-row button:first-child{background:var(--gold);color:#08182b;border-color:var(--gold)}.share-row button:first-child:hover{opacity:.9;color:#08182b}.btn-row{gap:10px;width:320px;margin-top:10px;display:flex}.btn-row .btn{flex:1}.error{border-left:2px solid var(--gold);color:var(--paper);background:#d9ae5f14;margin-bottom:16px;padding:12px 14px;font-size:14px}.legal{text-align:center;color:#7c99aeb3;max-width:320px;margin-top:26px;font-size:11px;line-height:1.6}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.expand{color:var(--gold);font-family:var(--ui);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #d9ae5f73;margin-top:26px;padding:12px 26px;font-size:11px;font-weight:400;transition:all .2s}.expand:hover{background:#d9ae5f1a}.sky{width:100%;margin-top:4px;animation:.5s ease-out unfold}.sky .reading-block h4{color:var(--gold);background:#d9ae5f12;border-color:#d9ae5f66}@keyframes unfold{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.sky .reading-block{margin-top:24px}.steps{justify-content:center;gap:10px;margin:4px 0;list-style:none;display:flex}.steps li{background:#ffffff06;border:1px solid #7c99ae29;flex-direction:column;flex:1;align-items:center;gap:7px;max-width:108px;padding:14px 6px;display:flex}.steps b{font-family:var(--display);color:var(--turquoise);font-size:20px;font-weight:400;line-height:1}.steps span{color:#f3f1eacc;text-align:center;font-size:11.5px;line-height:1.35}.meta{color:var(--muted);letter-spacing:.02em;margin-top:-8px;font-size:12px}.admin .brand p{color:var(--muted)}.stat-grid{gap:8px;margin:24px 0 8px;display:flex}.stat{text-align:center;background:#ffffff08;border:1px solid #7c99ae2e;flex:1;padding:16px 10px}.stat b{font-family:var(--display);color:var(--turquoise);font-size:32px;font-weight:400;line-height:1;display:block}.stat span{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:10px;display:block}.admin-h{font-family:var(--display);color:var(--paper);margin:32px 0 12px;font-size:22px;font-weight:400}.bars{flex-direction:column;gap:7px;list-style:none;display:flex}.bars li{grid-template-columns:130px 1fr 34px;align-items:center;gap:10px;font-size:13px;display:grid}.bars i{background:linear-gradient(90deg, var(--turquoise), var(--gold));min-width:3px;height:7px;display:block}.bars em{color:var(--muted);text-align:right;font-size:12px;font-style:normal}.rows{flex-direction:column;list-style:none;display:flex}.rows li{border-bottom:1px solid #7c99ae1a;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:13.5px;display:flex}.rows em{color:var(--muted);white-space:nowrap;font-size:11.5px;font-style:normal}.admin-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.tiny{color:var(--turquoise);font-family:var(--ui);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #3fd0c052;padding:7px 14px;font-size:10px}.tiny:hover{background:#3fd0c014}.rows li{grid-template-columns:1fr 1.4fr auto;align-items:center;gap:12px;display:grid}.rows b{color:var(--paper);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.rows span{color:var(--turquoise);font-size:13px}.logout{width:100%;margin-top:28px}
