:root{--cream:#f4efe6;--paper:#fcfaf6;--ink:#28242d;--muted:#77717b;--line:#ded8cd;--purple:#41314e;--purple-dark:#33243f;--gold:#c7a770;--rose:#a97878;--shadow:0 18px 45px rgba(42,28,45,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans','Noto Serif SC',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.shell{max-width:1512px;margin:auto;min-height:100vh;background:var(--cream)}
.site-header{height:90px;padding:0 6.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(63,49,76,.1);background:rgba(244,239,230,.95);position:relative;z-index:20}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--purple)}.brand-mark{width:36px;height:36px;border:1px solid var(--purple);border-radius:50%;display:grid;place-items:center;font-size:25px;font-family:serif}.brand strong{display:block;font:600 23px 'Noto Serif SC',serif;letter-spacing:.13em;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:.24em;margin-top:5px}.top-nav{display:flex;gap:40px;align-items:center;margin-left:9%}.nav-button{background:none;border:0;color:#7f7782;padding:12px 0;font-size:13px;letter-spacing:.08em;border-bottom:1px solid transparent}.nav-button.active{color:var(--purple);border-color:var(--purple)}.lang-toggle{background:transparent;border:1px solid #b9adbb;color:var(--purple);border-radius:20px;padding:8px 15px;font-size:11px;font-weight:700;letter-spacing:.1em;min-width:54px}
.home-view{min-height:548px;background:#493851;position:relative;overflow:hidden;display:flex;align-items:center;padding:65px 10.3%;color:#fff}.home-view:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 73% 51%,rgba(188,148,133,.2),transparent 29%),radial-gradient(circle at 45% 20%,rgba(149,124,158,.13),transparent 38%),linear-gradient(105deg,rgba(33,21,39,.23),transparent);pointer-events:none}.hero-orbit{position:absolute;border:1px solid rgba(218,193,163,.15);border-radius:50%;width:570px;height:570px;right:1%;top:-5%}.orbit-two{width:380px;height:380px;right:7%;top:13%;border-color:rgba(218,193,163,.11)}.hero-content{position:relative;z-index:2;max-width:570px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.33em;font-weight:700;color:var(--gold)}.home-view h1{font:500 clamp(46px,5.2vw,79px)/1.15 'Noto Serif SC',Georgia,serif;letter-spacing:.05em;margin:26px 0 22px;max-width:600px}.home-view p{font-size:14px;line-height:1.95;color:#e1d8df;max-width:490px;letter-spacing:.03em}.hero-actions{display:flex;gap:14px;margin-top:39px}.button{border:1px solid transparent;border-radius:3px;padding:15px 24px;font-size:12px;font-weight:700;letter-spacing:.07em;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(0,0,0,.13)}.button-primary{background:#d0b17a;color:#302539}.button-ghost{background:transparent;border-color:#b9aab7;color:#f2e9ed}.button.full{width:100%;margin-top:8px}.hero-card{position:absolute;width:225px;height:338px;right:18.5%;top:93px;border:2px solid #d3b485;border-radius:110px 110px 12px 12px;transform:rotate(8deg);box-shadow:0 25px 35px rgba(24,13,31,.3),inset 0 0 0 9px #493851,inset 0 0 0 10px rgba(218,190,147,.4);display:flex;align-items:center;flex-direction:column}.hero-card:before{content:'';position:absolute;inset:20px;border:1px solid rgba(218,190,147,.48);border-radius:90px 90px 3px 3px}.hero-card-star{font:75px Georgia,serif;color:#dcc4a0;margin-top:58px}.hero-card-line{height:1px;width:100px;background:#d2b58b;transform:rotate(-34deg);margin-top:13px}.hero-card-moon{font:95px Georgia,serif;color:#dcc4a0;margin-top:-15px}.hero-card-caption{font-size:10px;letter-spacing:.38em;color:#dbc59f;margin-top:6px}.hero-index{position:absolute;right:6.4%;bottom:34px;color:#c3b4c0;font-size:10px;letter-spacing:.3em}
.intro-strip{display:flex;justify-content:center;align-items:center;gap:52px;min-height:87px;background:#eee7da;color:#756d71;font-size:11px;letter-spacing:.16em}.intro-divider{font-size:14px;color:#b69b7e}.home-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:79px 10.3% 100px}.path-card{background:var(--paper);padding:38px 42px 39px;min-height:289px;border:1px solid #e9e3d8;box-shadow:var(--shadow);position:relative;overflow:hidden}.path-card:after{content:'';width:180px;height:180px;border:1px solid rgba(140,122,137,.16);border-radius:50%;position:absolute;right:-67px;bottom:-68px}.path-top{display:flex;justify-content:space-between;align-items:center;color:#927d8d;font-size:10px;letter-spacing:.27em;text-transform:uppercase}.path-symbol{font:38px Georgia,serif;color:#c4ab88}.path-card h2{font:500 30px 'Noto Serif SC',Georgia,serif;color:var(--purple);margin:13px 0}.path-card p{font-size:13px;line-height:1.9;color:#746d74;max-width:340px;min-height:52px}.text-link{background:none;border:0;padding:0;color:#786078;border-bottom:1px solid #9b859b;font-size:12px;font-weight:700;letter-spacing:.06em;margin-top:23px;position:relative;z-index:2}
.tool-view{padding:69px 10.3% 96px}.section-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:35px;margin-bottom:34px}.section-heading h1{font:500 clamp(33px,3.6vw,48px) 'Noto Serif SC',Georgia,serif;margin:14px 0 10px;color:var(--purple)}.section-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.section-glyph{font:76px Georgia,serif;color:#d0b999}.tool-grid{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:28px;align-items:start}.control-panel,.experience-panel{background:var(--paper);border:1px solid #e6dfd4;box-shadow:var(--shadow);padding:31px}.control-panel label:not(.check-row){display:block;font-weight:700;color:#4a3e4b;font-size:12px;margin-bottom:10px;margin-top:22px}.control-panel label:first-child{margin-top:0}.control-panel textarea,.control-panel select,.control-panel input[type=date],.control-panel input[type=time]{width:100%;background:#fff;border:1px solid #ddd5cb;border-radius:3px;padding:12px 13px;color:#312b31;outline:0;font-size:13px}.control-panel textarea:focus,.control-panel select:focus,.control-panel input:focus{border-color:#977796;box-shadow:0 0 0 3px rgba(151,119,150,.12)}.control-panel textarea{resize:vertical;min-height:90px}.check-row{display:flex;align-items:center;gap:10px;margin:21px 0;font-size:12px;color:#655b66}.check-row input{accent-color:var(--purple);width:16px;height:16px}.field-note{color:#92888d;font-size:11px;line-height:1.7;margin:17px 0 0}.experience-panel{min-height:386px}.empty-emblem{font:90px Georgia,serif;color:#d8c4aa;text-align:center;margin-top:75px}.experience-panel>p{text-align:center;color:#938894;font-size:13px;max-width:320px;margin:8px auto;line-height:1.8}.result-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.result-head h2{font:500 23px 'Noto Serif SC',Georgia,serif;color:var(--purple);margin:0}.small-button{background:transparent;border:1px solid #cbbdc8;border-radius:3px;padding:8px 11px;font-size:11px;color:#6a546b}.cards-grid{display:flex;flex-wrap:wrap;gap:13px;margin:20px 0}.reading-card{width:118px;min-height:172px;border:1px solid #bba483;background:linear-gradient(140deg,#f8f2e7,#eee4d4);border-radius:65px 65px 4px 4px;padding:11px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:rise .4s ease both}.reading-card:nth-child(2){animation-delay:.08s}.reading-card:nth-child(3){animation-delay:.16s}.reading-card:nth-child(4){animation-delay:.24s}.reading-card:nth-child(5){animation-delay:.32s}.card-orient{font:24px Georgia,serif;color:#b69269;line-height:1}.reading-card.reversed .card-orient{transform:rotate(180deg)}.card-name{font:600 14px 'Noto Serif SC',Georgia,serif;color:#433549;margin:12px 0 4px}.card-pos{font-size:10px;color:#897589}.card-sub{font-size:9px;color:#a18c86;margin-top:4px}.result-intro{color:#756b75;font-size:12px;line-height:1.8}.chart-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:21px 0}.pillar{background:#f4eee3;border:1px solid #e6d7c6;text-align:center;padding:18px 5px}.pillar small{display:block;color:#877a82;font-size:10px;margin-bottom:11px}.pillar strong{font:500 24px 'Noto Serif SC',serif;color:#45374e}.pillar.unknown strong{color:#aaa}.panel-note{font-size:11px;line-height:1.7;color:#8c7c86;margin:12px 0}.ai-section{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.ai-section h3{font:500 17px 'Noto Serif SC',serif;color:var(--purple);margin:0 0 12px}.ai-content{font-size:13px;line-height:1.85;color:#4d454e;white-space:pre-wrap}.ai-content p{margin:0 0 12px}.ai-content strong{color:var(--purple)}.ai-placeholder{color:#978b91;font-size:12px;line-height:1.7}.chat-box{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.chat-log{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow:auto;margin:0 0 14px}.chat-message{max-width:89%;padding:11px 14px;border-radius:12px;font-size:12px;line-height:1.75;white-space:pre-wrap}.chat-message.user{align-self:flex-end;background:#493851;color:#fff;border-bottom-right-radius:2px}.chat-message.assistant{align-self:flex-start;background:#efe9e0;color:#493b4a;border-bottom-left-radius:2px}.chat-form{display:flex;gap:8px}.chat-form input{min-width:0;flex:1;padding:12px;border:1px solid #d7cfc5;border-radius:3px;font-size:12px}.chat-form button{padding:10px 16px}.loading{opacity:.55;pointer-events:none}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#392c40;color:#fff;border-radius:6px;padding:13px 20px;z-index:100;max-width:90vw;font-size:12px;box-shadow:var(--shadow)}footer{display:flex;justify-content:space-between;gap:16px;padding:25px 6.2%;font-size:10px;letter-spacing:.08em;color:#8e8288;border-top:1px solid #ded8ce}@keyframes rise{from{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:900px){.hero-card{right:8%;opacity:.5}.hero-content{max-width:530px}.home-view{padding-left:7%}.home-cards,.tool-view{padding-left:7%;padding-right:7%}.site-header{padding:0 5%}.top-nav{gap:20px;margin-left:0}}@media(max-width:700px){.site-header{height:72px}.brand strong{font-size:19px}.brand small{font-size:6px}.brand-mark{width:31px;height:31px;font-size:21px}.top-nav{position:absolute;top:72px;left:0;right:0;height:47px;justify-content:center;background:var(--cream);border-bottom:1px solid var(--line);gap:36px}.nav-button{font-size:11px;padding:13px 0}.home-view{margin-top:47px;min-height:518px;padding:50px 8%}.hero-card{width:160px;height:248px;right:-20px;top:50px;opacity:.18}.hero-card-star{margin-top:40px;font-size:55px}.hero-card-moon{font-size:65px}.home-view h1{font-size:44px}.home-view p{font-size:12px}.hero-actions{flex-wrap:wrap}.intro-strip{gap:13px;min-height:68px;font-size:9px;padding:10px;text-align:center}.home-cards{grid-template-columns:1fr;padding:38px 6% 60px;gap:16px}.path-card{min-height:242px;padding:29px}.path-card h2{font-size:27px}.tool-view{padding:88px 5% 65px}.section-heading{padding-bottom:23px}.section-glyph{font-size:52px}.tool-grid{grid-template-columns:1fr}.control-panel,.experience-panel{padding:24px}.experience-panel{min-height:300px}.cards-grid{gap:8px}.reading-card{width:calc(33.333% - 6px);min-width:95px;min-height:151px}.chart-grid{gap:6px}.pillar{padding:14px 3px}.pillar strong{font-size:20px}footer{flex-direction:column;align-items:center;text-align:center;gap:9px}}

/* The 78-card deck is shuffled by the server; this fan shows 11 selectable backs. */
.draw-stage{margin:-31px;padding:30px 27px 20px;min-height:520px;background:radial-gradient(circle at 50% 43%,#24202a 0,#111015 56%,#0b0a0d 100%);color:#e9d9bb;overflow:hidden;text-align:center}
.draw-stage-head h2{font:500 23px 'Noto Serif SC',Georgia,serif;letter-spacing:.08em;margin:8px 0 7px;color:#f0dfbc}.draw-kicker{font:10px Georgia,serif;letter-spacing:.34em;color:#c9aa72}.draw-progress{font-size:12px;color:#baa984;margin:0}.pick-slots{display:flex;justify-content:center;gap:10px;margin:17px auto 0}.pick-slot{width:28px;height:37px;border:1px solid #6d593e;border-radius:13px 13px 2px 2px;display:grid;place-items:center;color:#7f6a47;font:11px Georgia,serif;transition:background .25s,color .25s,transform .25s}.pick-slot.filled{background:#c5a571;color:#19151a;transform:translateY(-3px)}
.card-fan{height:294px;max-width:100%;position:relative;margin:3px auto 0;perspective:850px}.fan-card{position:absolute;left:50%;top:94px;width:82px;height:135px;margin-left:-41px;border:1px solid #b9975d;border-radius:42px 42px 5px 5px;background:linear-gradient(145deg,#252028,#0d0c10 55%,#211b21);box-shadow:0 15px 18px #0009,inset 0 0 0 4px #151318,inset 0 0 0 5px #9a7849;padding:8px;transform-origin:50% 110%;transform:translate(var(--x),var(--y)) rotate(var(--r));transition:transform .35s ease,filter .25s,opacity .45s;animation:fan-in .55s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--i, 0) * 12ms)}.fan-card:before{content:'';position:absolute;inset:8px;border:1px solid #a98954;border-radius:35px 35px 2px 2px;pointer-events:none}.fan-card-inner{display:grid;place-items:center;height:100%;color:#d4b375;font:30px Georgia,serif;text-shadow:0 0 18px #c79b4c66}.fan-card-inner:before,.fan-card-inner:after{content:'✧';position:absolute;font:12px Georgia,serif;color:#b28c55}.fan-card-inner:before{top:25px}.fan-card-inner:after{bottom:21px}.fan-card:hover,.fan-card:focus-visible{filter:brightness(1.25);transform:translate(var(--x),calc(var(--y) - 25px)) rotate(var(--r));outline:1px solid #e9c987}.fan-card.chosen{transform:translate(var(--x),-105px) rotate(0deg) scale(.7);opacity:0;pointer-events:none}.draw-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.draw-actions p{margin:0;font-size:11px;color:#a99779}.draw-actions button{color:#d9bd8f;border-color:#786246}
.reading-card{position:relative;overflow:hidden;border:1px solid #ba985f;border-radius:55px 55px 5px 5px;background:radial-gradient(circle at 50% 35%,#29222d,#111015 75%);box-shadow:0 11px 22px #1b141a29,inset 0 0 0 5px #17131a,inset 0 0 0 6px #6f5638;animation:card-reveal .7s cubic-bezier(.2,.7,.2,1) both}.reading-card:before{content:'';position:absolute;inset:9px;border:1px solid #977748;border-radius:47px 47px 2px 2px;pointer-events:none}.reading-card .card-orient{color:#d7b879;font-size:27px}.reading-card .card-name{color:#e9d5a9;position:relative}.reading-card .card-pos{color:#c4a777;position:relative}.reading-card .card-sub{color:#97826d;position:relative}@keyframes fan-in{from{opacity:0;transform:translate(0,80px) rotate(0)}to{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r))}}@keyframes card-reveal{from{opacity:0;transform:translateY(25px) rotateY(90deg)}to{opacity:1;transform:translateY(0) rotateY(0)}}
@media(max-width:700px){.draw-stage{margin:-24px;padding:26px 10px 16px;min-height:465px}.draw-stage-head h2{font-size:18px}.card-fan{height:278px}.fan-card{width:65px;height:112px;margin-left:-32px;top:100px;border-radius:32px 32px 4px 4px}.fan-card:before{border-radius:26px 26px 2px 2px}.draw-actions{flex-direction:column;text-align:center}.reading-card{border-radius:45px 45px 4px 4px}.reading-card:before{border-radius:37px 37px 2px 2px}}
@media(prefers-reduced-motion:reduce){.fan-card,.reading-card,.pick-slot{animation:none;transition:none}.fan-card.chosen{opacity:0}}

/* Mirror & Meaning night theme: editorial layout, warm gold, and a quiet sky. */
:root{--cream:#0c0c13;--paper:#171720;--ink:#f0eadf;--muted:#a9a1a2;--line:#4b4134;--purple:#e2c58a;--purple-dark:#0c0c13;--gold:#d2ae67;--shadow:0 22px 60px #0005}
body,.shell{background:#0c0c13;color:var(--ink)}
.site-header{background:#111119eF;border-bottom:1px solid #8d754532;backdrop-filter:blur(16px)}.brand{color:#e4c586}.brand-mark{border-color:#bc9658;color:#edcf94;box-shadow:0 0 20px #d9ab5440}.brand small{color:#a48c65}.nav-button{color:#aaa2a1}.nav-button.active,.nav-button:hover{color:#f2d696;border-color:#c4a364}.lang-toggle{color:#e3c685;border-color:#8b734f}.lang-toggle:hover{background:#d0ae7020}
.home-view{background:radial-gradient(circle at 76% 50%,#3b2d29 0,#16151e 33%,#0b0b12 77%);min-height:620px}.home-view:before{background:linear-gradient(90deg,#0b0b12 0,#0b0b12aa 44%,transparent 75%)}.home-view:after,.tool-view:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#d2ad66 1px,transparent 1px),radial-gradient(#c9a766 .8px,transparent .8px);background-size:191px 161px,279px 231px;background-position:17px 13px,94px 77px;opacity:.22}.home-view h1{color:#f7f0e5;text-shadow:0 3px 30px #0008}.home-view p{color:#c3b9b7}.home-view .eyebrow{color:#d4af6a}.hero-orbit{border-color:#c4a46f38}.orbit-two{border-color:#c4a46f20}.hero-card{width:247px;height:371px;right:17%;top:114px;padding:0;transform:rotate(8deg);border:1px solid #b99257;border-radius:16px;background:#09090c;box-shadow:0 35px 60px #000a,0 0 70px #b4893532;overflow:hidden;display:block}.hero-card:before{display:none}.hero-card img{display:block;width:100%;height:100%;object-fit:cover}.hero-index{color:#aa916f}
.button-primary{background:linear-gradient(135deg,#ecd194,#bb9255);color:#21170c;border-color:#d9b978;box-shadow:0 8px 23px #a076332c}.button-primary:hover{background:linear-gradient(135deg,#f5dfaa,#c7a064)}.button-ghost{border-color:#8c724e;color:#e8d4ac}.button-ghost:hover{background:#c1a06b24}
.intro-strip{background:#16151b;color:#baa989;border-top:1px solid #5d4b3138;border-bottom:1px solid #5d4b3138}.intro-divider{color:#d7b377}.home-cards{background:linear-gradient(180deg,#101017,#0c0c13)}.path-card{background:linear-gradient(145deg,#1c1a21,#121217);border:1px solid #8c744f55;box-shadow:0 25px 45px #0004}.path-card:after{border-color:#bd97533f}.path-card h2{color:#efd9a9}.path-card p{color:#b7aba5}.path-top{color:#bba16f}.path-symbol{color:#d8b777}.text-link{color:#e3bf7e;border-color:#bd985b}
.tool-view{position:relative;background:radial-gradient(circle at 80% 0,#27202a 0,#101017 44%,#0c0c13 100%);min-height:calc(100vh - 155px)}.tool-view>*{position:relative;z-index:1}.section-heading{border-color:#9d7d4e55}.section-heading h1{color:#f0dcaf}.section-heading p{color:#b5a9a7}.section-glyph{color:#c4a163;text-shadow:0 0 32px #c6a15a88}
.control-panel,.experience-panel{background:#18171f;border:1px solid #8f754d62;box-shadow:var(--shadow)}.control-panel label:not(.check-row){color:#e5d2b1}.control-panel textarea,.control-panel select,.control-panel input[type=date],.control-panel input[type=time]{background:#101017;color:#efe8db;border-color:#6c583f}.control-panel textarea::placeholder{color:#8f8585}.control-panel textarea:focus,.control-panel select:focus,.control-panel input:focus{border-color:#d1ae70;box-shadow:0 0 0 3px #cfa75e20}.check-row{color:#bcaeaa}.check-row input{accent-color:#c7a15d}.field-note{color:#a3978e}.empty-emblem{color:#c9a45f;text-shadow:0 0 40px #ce9f5b55}.experience-panel>p{color:#b9a9a1}
.result-head h2,.ai-section h3,.chat-box h3{color:#efd9a9}.small-button{color:#d5b77f;border-color:#806841}.small-button:hover{background:#b38c4726}.result-intro,.panel-note{color:#b7a9a4}.ai-section,.chat-box{border-color:#66523a}.ai-content{color:#d1c6b9}.chat-message.assistant{background:#29252a;color:#e7d8c4}.chat-message.user{background:#8f7147;color:#fff8e8}.chat-form input{background:#101017;color:#f0e9db;border-color:#6d583f}.pillar{background:#211d21;border-color:#6c573a}.pillar small{color:#b69c7d}.pillar strong{color:#f0dcaf}.pillar.unknown strong{color:#867d79}
.cards-grid{gap:16px}.reading-card{width:125px;min-height:184px}.reading-card .card-name{font-size:14px}.draw-stage{background:radial-gradient(circle at 50% 42%,#2b2530,#0b0a10 76%);border:1px solid #876f4b47}.toast{background:#292027;border:1px solid #a5875b;color:#f1e0c0}footer{background:#0b0b11;color:#9e8e83;border-color:#57472e}
@media(max-width:900px){.hero-card{right:6%;width:205px;height:308px;top:142px}.home-view{min-height:590px}}@media(max-width:700px){.site-header,.top-nav{background:#111119}.home-view{min-height:540px;background:radial-gradient(circle at 100% 15%,#302730,#0b0b12 60%)}.hero-card{width:164px;height:246px;right:-44px;top:55px;opacity:.25}.home-view:before{background:linear-gradient(90deg,#0b0b12dd,#0b0b1277)}.tool-view{min-height:calc(100vh - 140px)}.reading-card{width:calc(33.333% - 7px);min-width:92px;min-height:160px}.draw-stage{border:0}}
