:root{--bg-page:#eef5fb;--panel-bg:#fff;--panel-border:#d7e6f3;--accent:#2f6fb0;--accent-soft:#2f6fb02e;--text-main:#1c2f42;--text-dim:#5b7386;--chat-bg:#0d2a4a;--chat-border:#163f66;--chat-bubble-assistant:#123a63;--chat-bubble-user:#1c4e80;--chat-text:#fff;--chat-text-dim:#a9c5de;--chat-accent:#bcd9f2;--card-back-bg:#0f2744;--card-line-blue:#98c6ec;--card-line-gold:#d8b968;--card-face-bg:#fff;--card-face-border:#cfe0ef;--card-back-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 100'%3E%3Crect width='64' height='100' fill='%230f2744'/%3E%3Crect x='4' y='4' width='56' height='92' rx='6' fill='none' stroke='%2398c6ec' stroke-width='1'/%3E%3Crect x='7' y='7' width='50' height='86' rx='4' fill='none' stroke='%23d8b968' stroke-width='0.6'/%3E%3Ccircle cx='32' cy='50' r='19' fill='none' stroke='%2398c6ec' stroke-width='0.7'/%3E%3Ccircle cx='32' cy='50' r='13' fill='none' stroke='%23d8b968' stroke-width='0.5'/%3E%3Cpath d='M35 39 a11 11 0 1 0 0 22 a8.5 8.5 0 1 1 0 -22 Z' fill='%23d8b968'/%3E%3Cg fill='%2398c6ec'%3E%3Ccircle cx='19' cy='23' r='1'/%3E%3Ccircle cx='46' cy='27' r='1.3'/%3E%3Ccircle cx='13' cy='58' r='0.8'/%3E%3Ccircle cx='50' cy='66' r='1'/%3E%3Ccircle cx='32' cy='13' r='1'/%3E%3Ccircle cx='32' cy='87' r='1'/%3E%3Ccircle cx='47' cy='73' r='0.7'/%3E%3Ccircle cx='17' cy='75' r='0.9'/%3E%3C/g%3E%3C/svg%3E");--sans:"Georgia", "Iowan Old Style", "Palatino Linotype", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-main);background:var(--bg-page);font:17px/1.5 var(--sans);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -10%, #fff 0%, var(--bg-page) 65%);min-height:100svh;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2{color:var(--accent);letter-spacing:.04em;font-weight:500}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-shell__header{text-align:center;border-bottom:1px solid var(--panel-border);background:var(--panel-bg);padding:12px 0 4px}.app-shell__header h1{text-transform:uppercase;margin:0;font-size:22px}.app-shell__main{flex:1;grid-template-columns:1.4fr 1fr;min-height:0;display:grid}@media (width<=900px){.app-shell__main{grid-template-rows:auto auto;grid-template-columns:1fr}}.app-shell__disclaimer{text-align:center;color:var(--text-dim);background:var(--panel-bg);border-top:1px solid var(--panel-border);padding:10px 20px;font-size:14px;line-height:1.4}.age-gate{z-index:1000;background:radial-gradient(circle at 50% -10%, #fff 0%, var(--bg-page) 65%);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.age-gate__box{background:var(--panel-bg);border:1px solid var(--panel-border);text-align:center;border-radius:14px;width:100%;max-width:420px;padding:32px 28px;box-shadow:0 20px 50px #0f27441f}.age-gate__box h2{margin:0 0 12px;font-size:20px}.age-gate__box p{color:var(--text-main);margin:0 0 24px;line-height:1.5}.age-gate__actions{flex-direction:column;gap:10px;display:flex}.age-gate__box button{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:10px;padding:12px 16px}.age-gate__secondary{color:var(--accent)!important;background:0 0!important}.age-gate__link{margin-top:4px;text-decoration:underline;color:var(--accent)!important;background:0 0!important;border:none!important}.app-shell__table{border-right:1px solid var(--panel-border);background:var(--bg-page);justify-content:center;align-items:center;min-height:340px;padding:24px 32px;display:flex;overflow:hidden}.app-shell__chat{min-height:0;display:flex}.chat-panel{background:var(--chat-bg);width:100%;min-height:0;color:var(--chat-text);flex-direction:column;display:flex}.chat-panel__messages{flex-direction:column;flex:1;gap:8px;padding:20px;display:flex;overflow-y:auto}.chat-message{display:flex}.chat-message--user{justify-content:flex-end}.chat-message--assistant,.chat-message--system{justify-content:flex-start}.chat-message__bubble{border:1px solid var(--chat-border);background:var(--chat-bubble-assistant);max-width:80%;color:var(--chat-text);border-radius:14px;padding:8px 14px}.chat-message__bubble p{margin:0}.chat-message--user .chat-message__bubble{background:var(--chat-bubble-user);border-color:var(--chat-accent)}.chat-message--pending .chat-message__bubble{color:var(--chat-text-dim);font-style:italic}.chat-message__bubble p+p{margin-top:8px}.chat-message__bubble strong{color:var(--chat-accent)}.chat-input{border-top:1px solid var(--chat-border);gap:8px;padding:14px;display:flex}.chat-input input{border:1px solid var(--chat-border);background:var(--chat-bubble-assistant);color:var(--chat-text);font:inherit;border-radius:10px;flex:1;padding:10px 12px}.chat-input input::placeholder{color:var(--chat-text-dim)}.chat-input input:disabled{opacity:.5}.chat-input button{border:1px solid var(--chat-accent);color:var(--chat-text);font:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:10px 16px;transition:background .15s}.chat-input button:hover:not(:disabled){background:#bcd9f226}.chat-input button:disabled{opacity:.4;cursor:default}.tarot-table{justify-content:center;align-items:center;width:100%;display:flex}.tarot-table__selecting{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.tarot-card{perspective:800px;width:90px;height:140px}.tarot-card--sm{width:46px;height:72px}.tarot-card--lg{width:110px;height:172px}.tarot-card--xl{width:143px;height:224px}.tarot-card--clickable{cursor:pointer;transition:transform .15s}.tarot-card--clickable:hover{transform:translateY(-6px)}.tarot-card__flip-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.tarot-card__back,.tarot-card__face{backface-visibility:hidden;border-radius:10px;position:absolute;inset:0;overflow:hidden}.tarot-card__back{border:1px solid var(--card-line-blue);background-image:var(--card-back-image);background-position:50%;background-size:cover}.tarot-card__face{background:var(--card-face-bg);border:1px solid var(--card-face-border);transform:rotateY(180deg)}.tarot-card__face-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:100%;padding:8px 6px 6px;display:flex}.tarot-card__face-content--reversed{transform:rotate(180deg)}.card-art{width:60%;min-height:0;color:var(--accent);flex:1;justify-content:center;align-items:center;display:flex;position:relative}.card-art__svg{width:100%;height:100%}.card-art__badge{width:28%;height:28%;color:var(--card-line-gold);position:absolute;bottom:-4px;right:-4px}.tarot-card__name{color:var(--accent);font-size:12px}.tarot-card__element{color:var(--text-dim);text-transform:uppercase;font-size:10px}.deck-stack{flex-direction:column;align-items:center;gap:12px;display:flex}.deck-stack__pile{width:110px;height:172px;position:relative}.deck-stack__card{position:absolute;top:0;left:0}.deck-stack__pile .deck-stack__card:first-child{transform:translate(0)}.deck-stack__pile .deck-stack__card:nth-child(2){transform:translate(3px,-3px)}.deck-stack__pile .deck-stack__card:nth-child(3){transform:translate(6px,-6px)}.shuffle-animation{flex-direction:column;align-items:center;gap:12px;display:flex}.shuffle-animation__stage{width:110px;height:172px;position:relative}.shuffle-animation__layer{position:absolute;inset:0}.shuffle-card{border:1px solid var(--card-line-blue);background-image:var(--card-back-image);background-position:50%;background-size:cover;border-radius:10px;width:110px;height:172px;position:absolute;top:0;left:0}.shuffle-animation__label,.deck-stack__label{color:var(--text-dim);font-style:italic}.card-spread{width:100%;height:170px;position:relative}.card-spread__card{border:1px solid var(--card-line-blue);background-image:var(--card-back-image);cursor:default;background-position:50%;background-size:cover;border-radius:8px;width:46px;height:72px;margin-left:-23px;position:absolute;top:0;left:50%}.card-spread[aria-disabled=false] .card-spread__card{cursor:pointer}.selected-slots{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.selected-slots__slot{flex-direction:column;align-items:center;gap:8px;display:flex}.selected-slots__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.selected-slots__placeholder{border:1px dashed var(--panel-border);background:var(--panel-bg);border-radius:10px;width:110px;height:172px}
