/* Complete-deck reading flow; shared card faces retain their existing 3D lighting. */
.help-button{min-height:38px;padding:7px 13px;border:1px solid #baa16e66;border-radius:5px;background:#c7ab750b;color:#e0c795;font-size:14px;white-space:nowrap}
.help-button:hover{background:#c7ab7520}
.card-front{container-type:inline-size}
.card-number-label,.card-name-label{position:absolute;left:6%;right:6%;z-index:1;text-align:center;color:#e6cc91;font-family:Georgia,"Times New Roman",serif;line-height:1.15;white-space:nowrap;text-shadow:0 1px 4px #080b12,0 0 7px #14110b;pointer-events:none}
.card-number-label{top:3.7%;font-size:4.4cqw;letter-spacing:.15em}
.card-name-label{bottom:4.1%;font-size:3.8cqw;letter-spacing:.12em}
.card-front .sweep,.card-front .soft-gloss{z-index:2}
.card-front .image-error-label{z-index:3}
.ritual-question{max-width:640px;margin:15px auto 0;padding:9px 15px;border:1px solid var(--line);border-radius:6px;color:#bca77f;font-size:14px}
.ritual-question summary{cursor:pointer;text-align:center}
.ritual-question .question-display{max-height:200px;overflow:auto;margin:12px 0 0;padding-right:6px}
.shuffle-card{margin-left:calc(var(--stack)*.65px);margin-top:calc(var(--stack)*.65px);animation-duration:1.7s;animation-delay:calc(var(--i)*-.35s)}
.shuffle-card .sweep{animation:none}
.deck-controls{display:flex;align-items:center;justify-content:center;gap:26px;margin:0 0 4px}
.deck-controls .pick-status{margin:0;font-size:15px;color:#dcc499;letter-spacing:1px}
.pick-status small{display:block;font-size:13px;color:#aebcd0;margin-top:4px;letter-spacing:.5px}
.deck-scroll-button{flex:none;width:44px;height:44px;border:1px solid #ba9d6566;border-radius:50%;background:#1020369c;color:#e2c58d;font-size:23px}
.deck-scroll-button:hover{background:#d2b77b22}
.deck-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b69a6577 #111c29;scroll-padding-inline:15px;border-radius:10px;outline-offset:3px}
.deck-scroll:focus-visible{outline:1px solid #dfbd80}
.deck-row{width:max-content;min-width:100%;justify-content:flex-start;align-items:center;gap:0;min-height:245px;padding:24px 18px 18px;perspective:1300px}
.deck-item{width:110px;max-width:none;transform:none;transform-origin:center;flex:0 0 110px;position:relative}
.deck-item+.deck-item{margin-left:-56px}
.deck-item:hover,.deck-item:has(.tarot:focus-visible){transform:translateY(-12px);z-index:1}
.deck-item .tarot{box-shadow:none}
.deck-item .card-face{box-shadow:0 7px 15px #0006}
.deck-item .sweep{animation-delay:calc(var(--order,0)*-.08s)}
.library-tools{flex-wrap:wrap}
.result-content .question-display{max-height:280px;overflow:auto}
.history-list{grid-template-columns:minmax(0,1fr)}
.history-row{min-width:0}
@media(max-width:960px){.site-header{gap:14px}.desktop-nav{gap:17px}.header-actions{gap:8px}.help-button{padding:7px 10px}.login-button{padding:7px 10px}.preview-tag{display:none}}
@media(max-width:700px){.site-header{padding:0 15px;gap:10px}.brand{gap:8px}.brand b{letter-spacing:3px}.brand-mark{width:30px;height:30px}.header-actions{gap:8px}.help-button{padding:6px 9px;font-size:14px}.login-button{padding:6px 8px}.deck-row{min-height:210px;padding:23px 12px 18px}.deck-item{width:92px;max-width:none;flex-basis:92px}.deck-item+.deck-item{margin-left:-44px}.deck-controls{gap:15px}.deck-controls .pick-status{font-size:14px}.pick-status small{font-size:13px}.deck-scroll-button{width:42px;height:42px}.ritual-question{font-size:14px}.library-tools>span:last-child{font-size:13px}}
@media(max-width:360px){.site-header{padding:0 12px}.brand b{font-size:13px}.brand small{letter-spacing:1px}.login-button span{display:none}.deck-controls{gap:10px}.deck-controls .pick-status{letter-spacing:0}}


/* Two ways to choose from the same complete deck. */
.draw-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:740px;margin:0 auto 10px}
.draw-mode-button{display:flex;align-items:center;justify-content:center;gap:18px;min-height:83px;padding:15px 22px;border:1px solid #bba16d45;border-radius:9px;text-align:left;background:#0c1b2bc9;color:#c3cddd;transition:background .2s,border-color .2s}
.draw-mode-button>span:first-child{font:30px Georgia;color:#c4a76f}
.draw-mode-button strong{display:block;font:21px/1.5 var(--serif);letter-spacing:2px;color:#e5d4b6}
.draw-mode-button small{display:block;font-size:14px;margin-top:3px;color:#b3c0d0}
.draw-mode-button[aria-pressed="true"]{border-color:#ddbd7e;background:linear-gradient(120deg,#b89c6428,#102035df);box-shadow:0 0 0 1px #dfbf7b1c}
.draw-mode-button[aria-pressed="true"] strong{color:#f3d7a5}
.draw-mode-button:hover{border-color:#e1c18b}
.draw-mode-button:focus-visible{outline:2px solid #e4c792;outline-offset:4px}
.draw-mode-note{text-align:center;color:#afbed0;font-size:14px;margin:0 0 30px}
.numeric-stage{max-width:1080px;min-height:0}
.number-experience{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:42px;align-items:center}
.number-panel{min-width:0;background:linear-gradient(145deg,#192b3e9c,#0a1422de 65%);border:1px solid #c4a66e45;border-radius:14px;padding:27px;backdrop-filter:blur(12px)}
.number-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #c4a66e29;padding-bottom:17px;margin-bottom:20px}
.number-panel-heading h2{font:22px var(--serif);letter-spacing:2px;margin:0;color:#f2dfbb}
.number-panel-heading>span{font-size:14px;color:#b4c1d3}
#number-tip{font-size:15px;color:#c3cfdf;margin:0 0 20px;line-height:1.8}
.number-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.number-fields.single{grid-template-columns:1fr;max-width:150px;margin:auto}
.number-field label{display:block;text-align:center;font-size:14px;color:#d3c09e;margin-bottom:10px}
.number-field input{display:block;width:100%;min-width:0;height:92px;padding:6px;border:1px solid #bca37577;border-radius:8px;background:#071320a8;color:#f5d9a7;font:40px Georgia;text-align:center;caret-color:#e0bc7c}
.number-field input::placeholder{color:#a6b6cc;font-size:32px}
.number-field input:focus-visible{outline:2px solid #e4c792;outline-offset:3px}
.number-field input[aria-invalid="true"]{border-color:#ecac98}
.number-field input[readonly]{opacity:.8}
.number-error{font-size:14px;color:#f0b5a3;line-height:1.6;min-height:44px;margin:8px 0 0;text-align:center}
#number-status{min-height:25px;font-size:14px;color:#bcc8d9;margin:10px 0 17px;line-height:1.8}
#number-status.error{color:#efb29b}
.number-confirm{width:100%;justify-content:space-between;font-size:15px;padding:14px 17px;min-height:50px}
.number-confirm:disabled{background:#c5aa7340;border-color:#bca16d66;color:#d5c09b;cursor:default}
.number-help{margin-top:18px;padding-top:16px;border-top:1px solid #c4a66e26;font-size:14px;color:#afbdcf}
.number-help summary{cursor:pointer;color:#c9ba9c}
.number-help p{margin:10px 0 3px;line-height:1.9}
.number-table{min-width:0;scroll-margin-top:30px}
.number-table-title{text-align:center;font-size:16px;color:#d8be8d;letter-spacing:2px;margin:0 0 25px}
.number-table .reading-slots{gap:20px}
.number-table .reading-slot{width:calc((100% - 40px)/3);max-width:170px}
.number-table .reading-slot.single{width:190px;max-width:190px}
.number-table-note{text-align:center;font:15px/1.9 var(--serif);color:#c2cbd6;margin:22px 0 0}
@media(max-width:960px){.number-experience{gap:25px}.number-panel{padding:22px}.number-field input{height:82px}.number-fields{gap:9px}}
@media(max-width:780px){.number-experience{grid-template-columns:1fr;gap:32px}.number-panel{max-width:580px;width:100%;margin:auto}.number-table{max-width:560px;width:100%;margin:auto}.number-table .reading-slot{max-width:150px}.number-table .reading-slot.single{width:170px;max-width:170px}}
@media(max-width:500px){.draw-mode-switch{gap:10px}.draw-mode-button{padding:12px 9px;gap:9px;min-height:86px}.draw-mode-button>span:first-child{font-size:24px}.draw-mode-button strong{font-size:18px;letter-spacing:1px}.draw-mode-button small{font-size:13px;max-width:100px;line-height:1.6}.draw-mode-note{font-size:13px;margin-bottom:25px}.number-panel{padding:21px 17px}.number-panel-heading h2{font-size:21px}.number-panel-heading>span{font-size:13px}#number-tip{font-size:14px}.number-field input{height:82px;font-size:36px}.number-error{font-size:13px}.number-confirm{font-size:14px;gap:10px}.number-table .reading-slots{gap:12px}.number-table .reading-slot{width:calc((100% - 24px)/3)}.number-table-note{font-size:14px}.number-table-title{font-size:15px}}

.number-title-count{color:#e4c795}
