:root{color:#211913;background:#f5efe4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#f5efe4f2,#e0d8cdfa),url("data:image/svg+xml,%3Csvg width='160' height='160' viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%238b6a3f' stroke-opacity='.08' stroke-width='2'%3E%3Cpath d='M80 18v124M18 80h124M36 36l88 88M124 36 36 124'/%3E%3Ccircle cx='80' cy='80' r='42'/%3E%3C/g%3E%3C/svg%3E")}button{font:inherit}.app-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:max(12px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom))}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.eyebrow{margin:0 0 3px;color:#8a6338;font-size:13px;font-weight:800}h1{margin:0;font-size:25px;line-height:1.12}.progress-pill{display:grid;grid-template-columns:auto auto auto;align-items:baseline;gap:3px;min-width:74px;padding:9px 12px;border:1px solid rgba(82,58,36,.16);border-radius:8px;background:#fffcf6d1;color:#6d4c2d;font-weight:800}.progress-pill span:first-child{color:#19130e;font-size:22px}.question-panel,.draw-panel,.debug-payload{border:1px solid rgba(82,58,36,.15);border-radius:8px;background:#fffcf6db;box-shadow:0 12px 38px #37271914}.question-panel{display:grid;gap:6px;margin-bottom:12px;padding:12px 14px}.question-panel span,.panel-heading span{color:#8a6338;font-size:12px;font-weight:800}.question-panel p{margin:0;color:#2a2118;font-size:16px;line-height:1.45}.draw-panel{display:grid;gap:14px;padding:14px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-heading p{margin:0 0 4px;color:#322417;font-size:16px;font-weight:900}.deck-preview{position:relative;flex:0 0 54px;height:42px}.deck-preview span{position:absolute;right:0;width:34px;height:42px;border:2px solid #251b13;border-radius:5px;background:radial-gradient(circle at 50% 50%,rgba(245,221,166,.65) 0 16%,transparent 17%),repeating-linear-gradient(45deg,#281d17 0,#281d17 5px,#5d3028 5px,#5d3028 10px);box-shadow:0 7px 15px #271b132e;transform-origin:center bottom}.deck-preview span:nth-child(1){transform:translate(-16px) rotate(-9deg)}.deck-preview span:nth-child(2){transform:translate(-8px) rotate(-2deg)}.deck-preview span:nth-child(3){transform:rotate(6deg)}.deck-preview.active span:nth-child(1){animation:shuffle-left .9s ease-in-out both}.deck-preview.active span:nth-child(2){animation:shuffle-mid .9s ease-in-out both}.deck-preview.active span:nth-child(3){animation:shuffle-right .9s ease-in-out both}.card-area{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch;contain:layout}.card-area.count-1{grid-template-columns:minmax(0,clamp(142px,42vw,168px));justify-content:center}.card-area.spread-choice_five{grid-template-columns:repeat(6,minmax(0,clamp(42px,14vw,60px)));justify-content:center;align-items:start}.card-area.spread-choice_five .card-slot{aspect-ratio:.72}.card-area.spread-choice_five .card-slot:nth-child(1){grid-column:1 / span 2;grid-row:1}.card-area.spread-choice_five .card-slot:nth-child(2){grid-column:2 / span 2;grid-row:2}.card-area.spread-choice_five .card-slot:nth-child(3){grid-column:5 / span 2;grid-row:1}.card-area.spread-choice_five .card-slot:nth-child(4){grid-column:4 / span 2;grid-row:2}.card-area.spread-choice_five .card-slot:nth-child(5){grid-column:3 / span 2;grid-row:1}.card-slot{width:100%;min-width:0;min-height:0;aspect-ratio:.62;overflow:hidden;contain:layout paint}.tarot-card,.empty-card{width:100%;height:100%;min-width:0;border:0;background:transparent;color:inherit}.tarot-card{cursor:pointer;perspective:1000px;padding:0}.card-inner{position:relative;width:100%;height:100%;min-height:0;transform-style:preserve-3d;transition:transform .48s ease}.tarot-card.revealed .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border:2px solid #261b12;border-radius:8px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 12px 28px #2e1f1433}.card-back{display:grid;place-items:center;background:radial-gradient(circle at 50% 48%,rgba(241,211,143,.68) 0 17%,transparent 18%),radial-gradient(circle at 50% 48%,transparent 0 31%,rgba(241,211,143,.42) 32% 34%,transparent 35%),repeating-linear-gradient(45deg,#211811 0,#211811 7px,#6e3128 7px,#6e3128 14px);color:#fff0cb;font-size:14px;font-weight:900}.card-back.compact{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #261b12;border-radius:8px;box-shadow:0 10px 22px #2e1f1429}.card-front{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;background:#f5ead6;transform:rotateY(180deg)}.card-front img{width:100%;height:100%;min-height:0;object-fit:cover;position:relative;z-index:0}.reversed-image{transform:rotate(180deg)}.card-caption{position:relative;z-index:1;display:grid;gap:1px;padding:7px 7px 8px;background:#fff8ea;text-align:left}.card-caption strong{overflow:hidden;color:#21170f;font-size:14px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.card-caption span{color:#7a5633;font-size:12px;font-weight:800}.empty-card{position:relative;display:grid;gap:7px;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;min-height:0;padding:0}.empty-card-frame{position:relative;width:100%;height:100%;min-height:0}.empty-card span{color:#795b3a;font-size:13px;font-weight:900;text-align:center}.actions{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:10px}.primary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:0;border-radius:8px;cursor:pointer}.primary-button{gap:8px;background:#1d1711;color:#fff3df;font-weight:900}.primary-button:disabled{cursor:not-allowed;opacity:.62}.icon-button{background:#523a241a;color:#302317}.debug-payload{margin-top:12px;padding:12px}.debug-payload>div{display:flex;align-items:center;gap:8px;color:#37542b;font-size:13px;font-weight:800}.debug-payload pre{overflow:auto;margin:10px 0 0;padding:12px;border-radius:7px;background:#1f1b16;color:#fff1d1;font-size:12px}@keyframes shuffle-left{0%,to{transform:translate(-16px) rotate(-9deg)}40%{transform:translate(-38px,-8px) rotate(-18deg)}}@keyframes shuffle-mid{0%,to{transform:translate(-8px) rotate(-2deg)}50%{transform:translate(6px,-10px) rotate(10deg)}}@keyframes shuffle-right{0%,to{transform:rotate(6deg)}45%{transform:translate(30px,-6px) rotate(19deg)}}@media(max-width:680px){.app-shell{padding-inline:10px}.top-bar{margin-bottom:10px}h1{font-size:23px}.question-panel{margin-bottom:10px;padding:11px 12px}.question-panel p{font-size:15px}.draw-panel{gap:12px;padding:12px}.card-area{gap:8px}.card-area.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card-caption{padding:6px}.card-caption strong{font-size:13px}.card-caption span{font-size:11px}}@media(max-width:380px){.card-area{gap:6px}.card-caption strong{font-size:12px}}@media(max-height:640px){.app-shell{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.top-bar{margin-bottom:8px}.eyebrow{margin-bottom:2px;font-size:12px}h1{font-size:22px}.progress-pill{min-width:68px;padding:7px 10px}.progress-pill span:first-child{font-size:20px}.question-panel{gap:4px;margin-bottom:8px;padding:9px 11px}.question-panel p{font-size:14px;line-height:1.35}.draw-panel{gap:9px;padding:10px}.panel-heading p{margin-bottom:2px;font-size:15px}.deck-preview{flex-basis:48px;height:36px}.deck-preview span{width:30px;height:36px}.card-area.count-1{grid-template-columns:minmax(0,clamp(130px,38vw,150px))}.card-area.spread-choice_five{gap:7px;grid-template-columns:repeat(6,minmax(0,clamp(36px,13vw,52px)))}.card-area.spread-choice_five .card-caption{padding:4px 5px 5px}.card-area.spread-choice_five .card-caption strong{font-size:12px}.card-area.spread-choice_five .card-caption span{font-size:10px}.card-caption{padding:5px 6px 6px}.actions{grid-template-columns:minmax(0,1fr) 42px;gap:8px}.primary-button,.icon-button{min-height:42px}}
