@font-face{font-family:Newsreader Pico;src:url(/fonts/newsreader/Newsreader.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:200 800}:root{color-scheme:light;--font-ui: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-paper: "Newsreader Pico", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--table: #f3ecdf;--table-warm: #fbf6eb;--paper: #f5ead5;--paper-light: #fffaf0;--paper-edge: #d4c39f;--ink: #282019;--muted: #6c6558;--line: rgba(48, 37, 27, .32);--shadow: 0 18px 30px rgba(70, 49, 33, .2);--green: #719783;--green-dark: #3f6c5c;--clay: #c58e77;--indigo: #5b6f83;--violet: #615079;--gold: #b88d48;--button-paper: #ead9b7;--card-width: min(58vw, 260px);--card-height: calc(var(--card-width) * 1.58);--reading-card-width: var(--card-width);--reading-card-height: var(--card-height);font-family:var(--font-ui);font-size:16px;line-height:1.5;letter-spacing:0}*{box-sizing:border-box}html{min-height:100%;background:var(--table);-webkit-tap-highlight-color:transparent}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background-color:var(--table);background-image:url(/textures/watercolor-wash.svg),url(/textures/paper-grain.svg);background-position:center top,left top;background-repeat:no-repeat,repeat;background-size:cover,220px 220px;background-attachment:fixed}body:before{position:fixed;inset:0;z-index:-1;content:"";background-image:url(/textures/paper-grain.svg);background-size:180px 180px;opacity:.2;pointer-events:none}button{font:inherit}button,summary{touch-action:manipulation;-webkit-user-select:none;user-select:none}button:focus-visible{outline:3px solid rgba(25,112,90,.32);outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.55}noscript{display:block;padding:1rem;color:#7d1f1f;background:#fff1f1}.app-shell{width:min(1120px,100%);min-height:100vh;margin:0 auto;padding:2rem;display:grid;grid-template-rows:auto 1fr auto auto;gap:1.5rem}.app-header{display:flex;justify-content:center;padding-top:.4rem}.app-header h1{margin:0;color:#403327;font-family:var(--font-paper);font-size:clamp(2.15rem,5.6vw,4.05rem);font-weight:620;font-variation-settings:"opsz" 72;line-height:.98}.tarot-table{position:relative;min-height:520px;display:grid;grid-template-areas:"deck reading";grid-template-columns:minmax(240px,.86fr) minmax(300px,1fr);align-items:center;gap:3rem}.deck-zone,.reading-zone{min-width:0;display:grid;place-items:center}.deck-zone{grid-area:deck}.reading-zone{grid-area:reading;min-height:calc(var(--card-height) + 5rem)}.deck-button{width:calc(var(--card-width) + 3.5rem);height:calc(var(--card-height) + 2.8rem);padding:0;border:0;background:transparent;cursor:pointer;perspective:1100px}.deck-stack{position:relative;display:block;width:var(--card-width);height:var(--card-height);margin:auto;transform-style:preserve-3d}.stack-card,.card-back,.drawn-card-face{border-radius:8px}.stack-card{position:absolute;inset:0;z-index:calc(20 - var(--stack-index));transform:translateY(var(--stack-y)) rotate(var(--stack-rotate)) translateZ(calc(var(--stack-index) * -2px));transform-origin:50% 82%;transition:transform .24s ease,filter .24s ease}.deck-button.is-shuffling .stack-card{animation:deck-shuffle .86s cubic-bezier(.2,.74,.2,1) both;animation-delay:calc(var(--stack-index) * 24ms)}.deck-button.is-empty .deck-stack{opacity:.34}.card-back,.drawn-card-back{position:relative;overflow:hidden;border:1.5px solid rgba(69,52,35,.32);color:#4b3d2e;background-color:#f2e7d1;background-image:url(/textures/card-back-print.svg),url(/textures/card-flecks.svg),url(/textures/paper-grain.svg);background-position:center,center,left top;background-repeat:no-repeat,repeat,repeat;background-size:100% 100%,180px 280px,180px 180px;box-shadow:0 10px 18px #4e39242e,inset 0 1px #ffffffad,inset 0 -6px 12px #7e593214}.card-back{width:100%;height:100%;display:grid;place-items:center;font-weight:800}.drawn-card{position:relative;width:var(--reading-card-width);height:var(--reading-card-height);transform-style:preserve-3d;perspective:1100px;filter:drop-shadow(0 13px 18px rgba(94,69,41,.2))}.drawn-card.is-leaving{animation:card-dismiss .76s cubic-bezier(.46,0,.42,1) both}.drawn-card-face{position:absolute;inset:0;display:grid;place-items:center;backface-visibility:hidden;transition:transform .54s cubic-bezier(.2,.78,.2,1)}.drawn-card-front{padding:2rem;border:1.5px solid var(--line);color:var(--ink);background-color:var(--paper-light);background-image:url(/textures/card-flecks.svg),url(/textures/paper-grain.svg);background-size:190px 300px,180px 180px;box-shadow:0 10px 20px #5e45292e,inset 0 1px #ffffffc7,inset 0 -10px 20px #9466381a;transform:rotateY(180deg)}.drawn-card-front:before{position:absolute;inset:.9rem;content:"";border:1px solid rgba(81,51,34,.18);border-radius:6px;box-shadow:inset 0 0 0 1px #ffffff4d,0 0 0 1px #fffce63d;pointer-events:none}.drawn-card-back{transform:rotateY(0)}.drawn-card.is-revealed .drawn-card-back{transform:rotateY(180deg)}.drawn-card.is-revealed .drawn-card-front{transform:rotateY(360deg)}.card-family,.card-text{position:relative;z-index:1;margin:0;text-align:center}.card-family{align-self:start;color:var(--violet);font-size:.72rem;font-family:var(--font-ui);font-weight:720;text-transform:uppercase}.card-text{align-self:center;max-width:100%;overflow-wrap:anywhere;font-family:var(--font-paper);font-size:1.42rem;font-weight:610;font-variation-settings:"opsz" 42;line-height:1.16}.card-debug{position:relative;z-index:1;align-self:end;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;width:100%;margin:0;color:#48392a8f;font-family:var(--font-ui);font-size:.58rem;line-height:1.15}.card-debug div{min-width:0;padding-top:.25rem;border-top:1px solid rgba(77,49,32,.13)}.card-debug dt,.card-debug dd{margin:0}.card-debug dt{text-transform:uppercase;font-weight:700}.flying-card{position:absolute;top:var(--flight-target-y);left:var(--flight-target-x);z-index:40;width:var(--reading-card-width);height:var(--reading-card-height);pointer-events:none;transform:translate(-50%,-50%) translate(var(--flight-from-x),var(--flight-from-y)) rotate(-4deg) scale(.86);transform-origin:50% 60%;animation:card-flight .92s cubic-bezier(.18,.82,.24,1) both}.flying-card .card-back{width:100%;height:100%;display:grid;place-items:center;gap:.7rem;font-weight:800}.action-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem}.action-bar button{min-width:9rem;min-height:3rem;padding:.7rem 1rem;border:1px solid rgba(78,48,31,.42);border-radius:5px 9px 6px 10px;color:var(--ink);background:#ead9b7;box-shadow:0 5px 10px #5a422724,inset 0 0 0 1px #fffae275,inset 0 -2px #724b2a1f;cursor:pointer;font-weight:660;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.action-bar button:nth-child(2){border-radius:9px 5px 10px 6px;transform:rotate(.8deg)}.action-bar .primary-action{border-color:#12342b9e;color:#fbf1d4;background:#6e9b85}.history{min-height:5.1rem;padding-top:1rem;border-top:1px solid rgba(245,223,170,.16)}.history h2{margin:0 0 .55rem;color:#48392ab8;font-size:.84rem;font-weight:580}.history ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none}.history-empty{min-height:3rem;margin:0;padding:.7rem .85rem;border:1px dashed rgba(77,49,32,.2);border-radius:7px;color:#48392a8a;background:url(/textures/paper-grain.svg),#fff8e847;background-size:180px 180px;font-family:var(--font-paper);font-size:.92rem;font-weight:430;font-variation-settings:"opsz" 24;line-height:1.35}.history li{position:relative;min-height:3.25rem;padding:.62rem .78rem;border:1px solid rgba(77,49,32,.24);border-radius:7px;color:var(--ink);background-color:#fff4dc;background-image:url(/textures/card-flecks.svg),url(/textures/paper-grain.svg);background-size:180px 280px,180px 180px;box-shadow:0 5px 10px #5a42271a,inset 0 1px #ffffffb8,inset 0 -3px 8px #9466380b;transform:rotate(var(--history-tilt, -.4deg))}.history li:before{position:absolute;inset:.34rem;content:"";border:1px solid rgba(81,51,34,.12);border-radius:5px;pointer-events:none}.history li:nth-child(2n){--history-tilt: .5deg}.history li:nth-child(3n){--history-tilt: -.8deg}.history span{position:relative;z-index:1;display:block;margin-bottom:.25rem;color:var(--violet);font-size:.72rem;font-family:var(--font-ui);font-weight:720;text-transform:uppercase}.history p{position:relative;z-index:1;margin:0;overflow-wrap:anywhere;font-family:var(--font-paper);font-size:.9rem;font-weight:450;font-variation-settings:"opsz" 22;line-height:1.22}.history small{position:relative;z-index:1;display:block;margin-top:.4rem;color:#48392a80;font-family:var(--font-ui);font-size:.66rem;line-height:1.25}.deck-workshop{margin-top:2rem;padding:1.1rem 0 0;border-top:1px solid rgba(77,49,32,.16)}.deck-workshop details{max-width:38rem;margin:0 auto}.deck-workshop summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;color:#48392ab3;cursor:pointer;font-size:.9rem;list-style-position:outside}.deck-workshop summary::-webkit-details-marker{color:#48392a80}.deck-workshop summary small{color:#48392a80;font-size:.78rem;white-space:nowrap}.deck-editor{display:grid;gap:.75rem;margin-top:1rem}.draw-settings{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem .85rem;align-items:center;padding:.7rem 0;border-top:1px solid rgba(77,49,32,.11);border-bottom:1px solid rgba(77,49,32,.11)}.draw-switch,.draw-temperature{display:flex;align-items:center;gap:.55rem;color:#48392aad;font-size:.82rem;font-weight:620}.draw-switch input{width:1.1rem;height:1.1rem;margin:0;accent-color:#6e9b85}.draw-debug{color:#48392a75;font-size:.76rem}.draw-temperature{display:grid;grid-template-columns:auto minmax(8rem,1fr);gap:.35rem .65rem;justify-content:stretch}.draw-temperature input{width:100%;accent-color:#6e9b85}.draw-temperature input:disabled{opacity:.38}.draw-temperature-labels{grid-column:2;display:flex;justify-content:space-between;gap:.7rem;color:#48392a7a;font-size:.66rem;font-weight:540;line-height:1.2}.draw-temperature-labels span:last-child{text-align:right}.draw-settings-message{grid-column:1 / -1;margin:-.1rem 0 0;color:#48392a8f;font-size:.76rem;line-height:1.3}.deck-mode{display:grid;gap:.5rem;margin:0;padding:.75rem 0;border:0;border-bottom:1px solid rgba(77,49,32,.11)}.deck-mode legend{padding:0;color:#48392ac7;font-size:.86rem;font-weight:650}.deck-mode label{display:inline-flex;align-items:center;gap:.55rem;color:#48392aad;font-size:.82rem;font-weight:580}.deck-mode input{width:1rem;height:1rem;margin:0;accent-color:#6e9b85}.deck-mode p{margin:0;color:#48392a8a;font-size:.76rem;line-height:1.3}.deck-editor label{color:#48392ac7;font-size:.86rem;font-weight:650}.deck-editor textarea{width:100%;min-height:11rem;resize:vertical;padding:.9rem;border:1px solid rgba(77,49,32,.28);border-radius:8px;color:var(--ink);background-color:#fff8e8;background-image:url(/textures/paper-grain.svg);background-size:180px 180px;box-shadow:inset 0 1px #ffffffb8,0 7px 14px #5a42271a;font-family:var(--font-paper);font-size:1rem;font-weight:430;font-variation-settings:"opsz" 24;line-height:1.45}.deck-editor textarea:focus{outline:3px solid rgba(25,112,90,.18);outline-offset:2px}.deck-editor-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;color:#48392a94;font-size:.78rem}.deck-editor-actions{display:flex;flex-wrap:wrap;gap:.65rem}.deck-editor-actions button{min-height:2.65rem;padding:.55rem .9rem;border:1px solid rgba(78,48,31,.34);border-radius:5px 8px 6px 9px;color:var(--ink);background:#ead9b7;box-shadow:0 4px 8px #5a42271a,inset 0 0 0 1px #fffae261;cursor:pointer;font-size:.92rem;font-weight:650}.deck-editor-actions button:first-child{border-color:#12342b80;color:#fbf1d4;background:#6e9b85}.deck-editor-message{margin:0;color:#48392ab8;font-size:.84rem}@keyframes deck-shuffle{0%,to{filter:none;transform:translateY(var(--stack-y)) rotate(var(--stack-rotate)) translateZ(calc(var(--stack-index) * -2px))}24%{filter:drop-shadow(0 12px 14px rgba(92,69,43,.14));transform:translate(var(--shuffle-x),calc(var(--stack-y) + var(--shuffle-y))) rotate(var(--shuffle-rotate)) translateZ(30px)}52%{filter:drop-shadow(0 8px 10px rgba(92,69,43,.1));transform:translate(var(--shuffle-cross-x),calc(var(--stack-y) - .28rem)) rotate(var(--shuffle-cross-rotate)) translateZ(18px)}76%{filter:none;transform:translateY(calc(var(--stack-y) + .12rem)) rotate(var(--stack-rotate)) translateZ(5px)}}@keyframes card-flight{0%{opacity:.96;transform:translate(-50%,-50%) translate(var(--flight-from-x),var(--flight-from-y)) rotate(-4deg) scale(.86)}38%{opacity:1;transform:translate(-50%,-50%) translate(var(--flight-mid-x),var(--flight-mid-y)) rotate(5deg) scale(1.04)}76%{transform:translate(-50%,-50%) translateY(-.7rem) rotate(-1deg) scale(1.02)}to{opacity:1;transform:translate(-50%,-50%) translate(0) rotate(0) scale(1)}}@keyframes card-dismiss{0%{opacity:1;transform:translateZ(0) rotate(0) scale(1)}42%{opacity:.94;transform:translate3d(0,5.5rem,60px) rotate(4deg) scale(.96)}to{opacity:0;transform:translate3d(0,72vh,0) rotate(12deg) scale(.76)}}@media(max-width:860px){:root{--card-width: min(66vw, 235px);--reading-card-width: var(--card-width)}.app-shell{padding:1.2rem;padding-bottom:calc(5.8rem + env(safe-area-inset-bottom));gap:1rem}.app-header{padding-top:0}.tarot-table{min-height:calc(var(--card-height) + 7.5rem);grid-template-areas:"stage";grid-template-columns:1fr;gap:0}.tarot-table.has-reading{align-items:center}.deck-zone,.reading-zone{grid-area:stage}.reading-zone{z-index:12;pointer-events:none;transform:translate(-.35rem,-.45rem) rotate(-.4deg)}.tarot-table.has-reading .deck-zone{z-index:1;opacity:.66}.deck-button{height:calc(var(--card-height) + 1.6rem)}.reading-zone{min-height:calc(var(--card-height) + 2rem)}.card-text{font-size:1.2rem;font-variation-settings:"opsz" 34}.action-bar{position:fixed;bottom:calc(.8rem + env(safe-area-inset-bottom));left:50%;z-index:50;width:min(calc(100% - 2rem),22rem);margin:0 auto;padding:0;border:0;background:transparent;box-shadow:none;transform:translate(-50%)}.action-bar button{flex:1 1 0;min-width:0}.history ol,.draw-settings,.draw-temperature{grid-template-columns:1fr}.draw-temperature-labels{grid-column:1}}@media(hover:hover)and (pointer:fine){.action-bar button:not(:disabled):hover,.action-bar button:not(:disabled):focus-visible{filter:brightness(1.04) saturate(1.04);transform:translateY(-2px) rotate(-.2deg)}.action-bar button:nth-child(2):not(:disabled):hover,.action-bar button:nth-child(2):not(:disabled):focus-visible{transform:translateY(-2px) rotate(.4deg)}.action-bar .primary-action:not(:disabled):hover,.action-bar .primary-action:not(:disabled):focus-visible{background:#79a991}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
