.tc-app{--tc-bg:#171321;--tc-panel:#211b2d;--tc-gold:#e7c77d;--tc-text:#f3edde;--tc-muted:#bdb3cb;--tc-line:#493b58;max-width:940px;margin:28px auto;padding:clamp(18px,4vw,42px);border:1px solid var(--tc-line);border-radius:24px;background:radial-gradient(ellipse at 90% 0,#35263c 0,transparent 55%),var(--tc-bg);color:var(--tc-text);font-family:inherit;line-height:1.6;color-scheme:dark}
.tc-app *{box-sizing:border-box}.tc-app h2.tc-title{font-size:clamp(26px,4vw,38px);line-height:1.2;color:var(--tc-text);margin:8px 0 14px}.tc-app .tc-eyebrow{font-family:system-ui,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tc-gold);margin:8px 0}.tc-app .tc-intro{color:var(--tc-muted);max-width:620px;margin:0 0 26px}.tc-app .tc-progress{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 30px;font:11px/1.5 system-ui,sans-serif;counter-reset:step}.tc-app .tc-progress li{flex:1;border-top:2px solid var(--tc-line);padding-top:9px;color:var(--tc-muted);counter-increment:step}.tc-app .tc-progress li:before{content:counter(step) '. ';opacity:.6}.tc-app .tc-progress .is-current{border-color:var(--tc-gold);color:var(--tc-gold)}.tc-app .tc-progress .is-done{border-color:#9d83b9}
.tc-app button.tc-btn{appearance:none;font:inherit;line-height:1.4;border:1px solid transparent;border-radius:12px;padding:12px 19px;cursor:pointer;background:none;color:var(--tc-text);text-transform:none;letter-spacing:normal;box-shadow:none;white-space:normal}.tc-app button.tc-primary{background:var(--tc-gold);color:#24192c;font-weight:700}.tc-app button.tc-secondary{border-color:var(--tc-line);background:#ffffff05}.tc-app button:disabled{cursor:default;opacity:.4}.tc-app button:not(:disabled):hover{filter:brightness(1.12)}.tc-app :is(button,select,textarea,summary):focus-visible{outline:3px solid var(--tc-gold);outline-offset:4px}.tc-app .tc-spreads{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:28px}.tc-app button.tc-spread{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--tc-line);background:#ffffff03;padding:16px;grid-column:span 2;position:relative}.tc-app .tc-spread:nth-child(n+4){grid-column:span 3}.tc-app .tc-spread.is-selected{border-color:var(--tc-gold);background:#e7c77d0c;box-shadow:inset 0 0 0 1px var(--tc-gold)}.tc-app .tc-spread.is-selected:after{content:'✓';position:absolute;right:12px;top:12px;color:var(--tc-gold)}.tc-app .tc-spread-icon{font-size:27px;line-height:1.2;color:var(--tc-gold);margin-bottom:12px}.tc-app .tc-spread strong{font-size:17px}.tc-app .tc-spread small{color:var(--tc-gold);font:11px system-ui,sans-serif;margin:6px 0 9px}.tc-app .tc-spread-desc{font-size:13px;color:var(--tc-muted)}
.tc-app .tc-field{min-width:0}.tc-app label{display:block;font-weight:600;margin-bottom:8px}.tc-app :is(textarea,select){width:100%;font:inherit;color:var(--tc-text);background:#100d18;border:1px solid var(--tc-line);border-radius:12px;padding:12px 14px}.tc-app textarea{resize:vertical;min-height:110px}.tc-app textarea::placeholder{color:#a79bb6}.tc-app select{min-height:48px}.tc-app .tc-help{font-size:12px;color:var(--tc-muted);margin:9px 0}.tc-app .tc-settings{display:flex;gap:22px;align-items:center;justify-content:space-between;margin:20px 0}.tc-app .tc-settings>.tc-field{max-width:350px;flex:1}.tc-app .tc-note{font-size:11px;color:var(--tc-muted);border-top:1px solid var(--tc-line);padding-top:16px;margin-top:26px}.tc-app .tc-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}.tc-app .tc-card{width:100%;aspect-ratio:5/8;border-radius:9px;overflow:hidden;box-shadow:0 5px 16px #0005;position:relative}.tc-app .tc-card img{width:100%;height:100%;display:block;object-fit:cover}.tc-app .tc-back{background:repeating-linear-gradient(45deg,#2e2344 0 7px,#3a2c51 7px 9px);border:2px solid var(--tc-gold);display:grid;place-items:center;color:var(--tc-gold);font-size:35px}.tc-app .tc-back:has(img){border:0}.tc-app .tc-face{background:#f2e6cc;color:#2c2139}.tc-app .tc-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px;gap:8px;font-size:13px}.tc-app .tc-fallback b{font-size:25px}.tc-app .tc-reversed{transform:rotate(180deg)}
.tc-app .tc-shuffle-stage{height:280px;display:flex;align-items:center;justify-content:center;margin:20px 0}.tc-app .tc-shuffle-stage .tc-card{width:125px;position:absolute;animation:tc-sway 1.8s ease-in-out infinite}.tc-app .tc-shuffle-stage .tc-card:first-child{transform:translateX(-40px) rotate(-14deg);animation-delay:-.6s}.tc-app .tc-shuffle-stage .tc-card:last-child{transform:translateX(40px) rotate(14deg);animation-delay:-1.2s}@keyframes tc-sway{50%{translate:0 -12px}}
.tc-app .tc-status{color:var(--tc-gold);font-size:14px}.tc-app .tc-track{display:flex;gap:7px;margin:14px 0 24px}.tc-app .tc-track span{width:28px;height:30px;border:1px solid var(--tc-line);border-radius:5px;display:grid;place-items:center;font:11px system-ui,sans-serif}.tc-app .tc-track .is-filled{background:var(--tc-gold);color:#24192c;border-color:var(--tc-gold)}.tc-app .tc-deck{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:10px}.tc-app button.tc-pick{padding:0;border:0;border-radius:9px;transition:translate .2s}.tc-app button.tc-pick:not(:disabled):hover{translate:0 -5px}.tc-app button.tc-pick.is-picked{opacity:.16}.tc-app .tc-question{border:0;border-left:2px solid var(--tc-gold);padding:8px 18px;margin:20px 0;color:var(--tc-text);font-style:italic;overflow-wrap:anywhere}.tc-app .tc-layout{--card:100px;display:flex;justify-content:center;gap:24px;margin:35px 0 20px;padding:10px 0}.tc-app button.tc-result-card{padding:0;border:0;border-radius:0;width:var(--card);position:relative;align-self:start}.tc-app .tc-position-number{position:absolute;top:-8px;left:-8px;background:var(--tc-gold);border-radius:50%;color:#24192c;width:23px;height:23px;font:12px/23px system-ui,sans-serif}.tc-app .tc-card-label{display:block;font-size:11px;line-height:1.35;color:var(--tc-muted);margin-top:8px;min-height:30px}.tc-app .tc-layout-cross{display:grid;grid-template-columns:repeat(3,var(--card));grid-template-areas:'. p3 .' 'p2 p1 p4' '. p5 .';gap:18px}.tc-app .tc-layout-cross .tc-place-1{grid-area:p1}.tc-app .tc-layout-cross .tc-place-2{grid-area:p2}.tc-app .tc-layout-cross .tc-place-3{grid-area:p3}.tc-app .tc-layout-cross .tc-place-4{grid-area:p4}.tc-app .tc-layout-cross .tc-place-5{grid-area:p5}.tc-app .tc-layout-celtic{display:grid;grid-template-columns:repeat(4,var(--card));grid-template-areas:'. p5 . p10' 'p4 p1 p6 p9' '. p3 . p8' '. . . p7';gap:20px 30px}.tc-app .tc-layout-celtic .tc-place-1{grid-area:p1}.tc-app .tc-layout-celtic .tc-place-2{grid-area:p1;z-index:2;transform:translateY(35px) rotate(90deg)}.tc-app .tc-layout-celtic .tc-place-2 .tc-card-label{display:none}.tc-app .tc-layout-celtic .tc-place-3{grid-area:p3}.tc-app .tc-layout-celtic .tc-place-4{grid-area:p4}.tc-app .tc-layout-celtic .tc-place-5{grid-area:p5}.tc-app .tc-layout-celtic .tc-place-6{grid-area:p6}.tc-app .tc-layout-celtic .tc-place-7{grid-area:p7}.tc-app .tc-layout-celtic .tc-place-8{grid-area:p8}.tc-app .tc-layout-celtic .tc-place-9{grid-area:p9}.tc-app .tc-layout-celtic .tc-place-10{grid-area:p10}.tc-app .tc-center{text-align:center}.tc-app .tc-reading{display:flex;gap:20px;border-top:1px solid var(--tc-line);padding:25px 0}.tc-app button.tc-thumb{width:70px;flex:0 0 70px;padding:0;border:0;align-self:start}.tc-app .tc-reading-body{min-width:0}.tc-app .tc-reading-body h3{font-size:23px;color:var(--tc-text);margin:3px 0}.tc-app .tc-orientation{font:11px system-ui,sans-serif;color:var(--tc-muted);margin:6px 0 14px}.tc-app .tc-meaning{margin:10px 0;font-size:16px}.tc-app .tc-prompt{margin:12px 0 0;color:var(--tc-gold);font-style:italic}.tc-app .tc-answer{padding:22px;text-align:center;border:1px solid var(--tc-line);border-radius:15px}.tc-app .tc-answer strong{display:block;font-size:32px;color:var(--tc-gold)}.tc-app .tc-answer p,.tc-app .tc-rules{font-size:12px;color:var(--tc-muted)}.tc-app .tc-rules{margin:14px 0}.tc-app summary{cursor:pointer}.tc-app .tc-dialog{background:var(--tc-bg);color:var(--tc-text);border:1px solid var(--tc-line);border-radius:20px;padding:25px;max-width:540px;width:calc(100% - 28px);max-height:90dvh;overflow:auto}.tc-app .tc-dialog::backdrop{background:#08050ed9}.tc-app .tc-dialog>.tc-btn{display:block;margin:0 0 20px auto}.tc-app .tc-large{max-width:230px;margin:0 auto 25px}.tc-app .tc-copy-text{flex-basis:100%}
@media(min-width:700px){.tc-app .tc-spreads{grid-template-columns:repeat(5,minmax(0,1fr))}.tc-app button.tc-spread,.tc-app .tc-spread:nth-child(n+4){grid-column:auto;padding:14px 11px}.tc-app .tc-spread strong{font-size:15px}}
@media(max-width:600px){.tc-app{padding:18px 14px;border-radius:16px}.tc-app .tc-progress{font-size:9px;gap:6px}.tc-app .tc-settings{flex-direction:column;align-items:stretch;gap:12px}.tc-app .tc-settings>.tc-field{max-width:none}.tc-app .tc-deck{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.tc-app .tc-spreads{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-app button.tc-spread,.tc-app .tc-spread:nth-child(n+4){grid-column:auto;padding:13px}.tc-app .tc-spread:last-child{grid-column:1/-1}.tc-app .tc-spread-desc{font-size:12px}.tc-app .tc-layout{--card:clamp(44px,14vw,80px);gap:14px}.tc-app .tc-layout-celtic{gap:16px 14px}.tc-app .tc-layout-celtic .tc-place-2{transform:translateY(22px) rotate(90deg)}.tc-app .tc-card-label{font-size:9px}.tc-app .tc-reading{gap:13px}.tc-app button.tc-thumb{width:48px;flex-basis:48px}.tc-app .tc-reading-body h3{font-size:21px}.tc-app .tc-actions>.tc-btn{width:100%}.tc-app .tc-track{gap:4px}.tc-app .tc-track span{width:22px;height:25px}}
@media(prefers-reduced-motion:reduce){.tc-app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Rozwijane interpretacje i podgląd trzech kart. */
.tc-app .tc-interpretation{margin:16px 0 4px;border-top:1px solid var(--tc-line);padding-top:14px}.tc-app .tc-interpretation>summary{color:var(--tc-gold);font:600 14px/1.5 system-ui,sans-serif;padding:7px 0;width:fit-content;cursor:pointer}.tc-app .tc-interpretation>summary::marker{color:var(--tc-gold)}.tc-app .tc-when-open{display:none}.tc-app .tc-interpretation[open] .tc-when-open{display:inline}.tc-app .tc-interpretation[open] .tc-when-closed{display:none}.tc-app .tc-interpretation-text{font-size:16px;line-height:1.8;max-width:68ch;overflow-wrap:anywhere}.tc-app .tc-interpretation-text>p{margin:14px 0}.tc-app .tc-context{color:var(--tc-text)}.tc-app .tc-practice{padding:14px 17px;background:#e7c77d08;border-left:2px solid var(--tc-gold);border-radius:0 9px 9px 0;margin:18px 0}.tc-app .tc-practice h4{font:600 11px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--tc-gold);margin:0 0 5px}.tc-app .tc-practice p{margin:0;font-size:15px}.tc-app .tc-demo-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin:28px 0 14px}.tc-app .tc-demo-controls label{font-size:14px}.tc-app .tc-demo-reverse{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:400;width:fit-content;margin:16px 0}.tc-app .tc-demo-reverse input{width:18px;height:18px;accent-color:var(--tc-gold);margin:0;flex-shrink:0}.tc-app .tc-demo-status{min-height:20px;margin:20px 0 14px;color:var(--tc-gold)}.tc-app .tc-demo-reading{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;border-top:1px solid var(--tc-line);padding-top:27px;align-items:start}.tc-app .tc-demo-image{position:sticky;top:20px}.tc-app .tc-demo-link{color:var(--tc-gold);display:inline-block;margin-top:14px;font-size:14px;text-underline-offset:4px}.tc-app a.tc-demo-link:focus-visible{outline:3px solid var(--tc-gold);outline-offset:4px}.tc-app .tc-demo-reading h3{margin-top:0}
@media(max-width:600px){.tc-app .tc-demo-controls{grid-template-columns:1fr;gap:13px}.tc-app .tc-demo-controls label{margin-bottom:5px}.tc-app .tc-demo-controls .tc-help{margin-bottom:0}.tc-app .tc-demo-reading{grid-template-columns:minmax(0,1fr);gap:16px}.tc-app .tc-demo-image{position:static;width:90px}.tc-app .tc-demo-reading .tc-meaning{font-size:17px}.tc-app .tc-interpretation-text{font-size:16px}.tc-app .tc-demo-status{font-size:11px}}

/* Zamknięcie długiej interpretacji pozostaje dostępne podczas przewijania. */
.tc-app .tc-dialog-toolbar{position:sticky;top:0;z-index:5;background:var(--tc-bg);padding:0 0 12px;margin:0 0 20px;border-bottom:1px solid var(--tc-line)}.tc-app .tc-dialog-toolbar>.tc-btn{display:block;margin:0 0 0 auto;background:var(--tc-panel);border-color:var(--tc-line)}
