:root{--rtc-primary: #5b4b9e;--rtc-primary-dark: #3f3376;--rtc-gold: #c08a2e;--rtc-gold-soft: #f7edd8;--rtc-felt: #1c1836;--rtc-felt-soft: #262047;--rtc-felt-line: #3a3266;--rtc-felt-text: #e6e1f5;--rtc-felt-dim: #9a92c2;--rtc-surface: #ffffff;--rtc-surface-muted: #f7f5fc;--rtc-border: #e4dff2;--rtc-border-strong: #cec6ea;--rtc-text-main: #1c1832;--rtc-text-muted: #665e87;--rtc-rev: #b04a4a;--rtc-rev-soft: #fbeeee;--rtc-shadow: 0 18px 44px rgba(28, 24, 54, 0.12);--rtc-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--primary: var(--rtc-primary);--primary-dark: var(--rtc-primary-dark);--border: var(--rtc-border);--surface: var(--rtc-surface);--surface-muted: var(--rtc-surface-muted);--shadow-soft: var(--rtc-shadow);--text-main: var(--rtc-text-main);--text-muted: var(--rtc-text-muted);}
.rtc-shell [hidden]{display: none !important;}
.rtc-shell{background: var(--rtc-surface);border: 1px solid var(--rtc-border);border-radius: 1rem;box-shadow: var(--rtc-shadow);overflow: hidden;margin-bottom: 2.5rem;}
.rtc-byline{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.5rem 1rem;padding: 0.75rem 1.25rem;font-size: 0.85rem;color: var(--rtc-text-muted);background: var(--rtc-surface-muted);border-bottom: 1px solid var(--rtc-border);}
.rtc-byline-author{font-weight: 600;color: var(--rtc-text-main);}
.rtc-byline .author-link{color: var(--rtc-primary-dark);text-decoration: none;font-weight: 600;}
.rtc-byline .author-link:hover{text-decoration: underline;}
.rtc-setup{padding: 1.25rem;border-bottom: 1px solid var(--rtc-border);}
.rtc-label{display: block;font-size: 0.72rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--rtc-text-muted);margin-bottom: 0.5rem;}
.rtc-focus{margin-bottom: 1.15rem;}
.rtc-focus-box{display: flex;align-items: center;gap: 0.6rem;padding: 0.15rem 0.15rem 0.15rem 0.85rem;background: var(--rtc-surface-muted);border: 1px solid var(--rtc-border-strong);border-radius: 0.7rem;transition: border-color 0.18s, box-shadow 0.18s;}
.rtc-focus-box:focus-within{border-color: var(--rtc-primary);box-shadow: 0 0 0 3px rgba(91, 75, 158, 0.16);}
.rtc-focus-box svg{flex-shrink: 0;width: 1.05rem;height: 1.05rem;color: var(--rtc-primary);}
.rtc-focus-input{flex: 1;min-width: 0;padding: 0.7rem 0;font-size: 0.98rem;font-family: inherit;color: var(--rtc-text-main);background: transparent;border: 0;outline: none;}
.rtc-focus-input::placeholder{color: var(--rtc-text-muted);opacity: 0.75;}
.rtc-focus-hint{margin: 0.45rem 0 0;font-size: 0.8rem;color: var(--rtc-text-muted);}
.rtc-spreads{display: grid;grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));gap: 0.6rem;margin-bottom: 1.15rem;}
.rtc-spread{display: flex;align-items: flex-start;gap: 0.7rem;padding: 0.8rem 0.85rem;text-align: left;background: var(--rtc-surface);border: 1px solid var(--rtc-border-strong);border-radius: 0.7rem;cursor: pointer;font-family: inherit;transition: border-color 0.18s, box-shadow 0.18s, background 0.18s;}
.rtc-spread:hover{border-color: var(--rtc-primary);}
.rtc-spread:focus-visible{outline: 2px solid var(--rtc-primary);outline-offset: 2px;}
.rtc-spread.is-active{border-color: var(--rtc-primary);background: #f4f1fc;box-shadow: 0 0 0 1px var(--rtc-primary) inset;}
.rtc-spread-mini{display: grid;flex-shrink: 0;gap: 2px;width: 2rem;padding-top: 0.15rem;}
.rtc-spread-mini i{display: block;height: 0.55rem;background: var(--rtc-border-strong);border-radius: 1px;}
.rtc-spread.is-active .rtc-spread-mini i{background: var(--rtc-primary);}
.rtc-mini-1{grid-template-columns: 1fr;}
.rtc-mini-3{grid-template-columns: repeat(3, 1fr);}
.rtc-mini-10{grid-template-columns: repeat(4, 1fr);grid-auto-rows: 0.28rem;}
.rtc-mini-10 i{height: 0.28rem;}
.rtc-spread-name{display: block;font-size: 0.94rem;font-weight: 700;color: var(--rtc-text-main);line-height: 1.25;}
.rtc-spread-note{display: block;margin-top: 0.15rem;font-size: 0.79rem;color: var(--rtc-text-muted);line-height: 1.35;}
.rtc-controls{display: flex;flex-wrap: wrap;align-items: center;gap: 0.75rem;}
.rtc-draw{display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.75rem 1.5rem;font-size: 1rem;font-weight: 700;font-family: inherit;color: #ffffff;background: linear-gradient(135deg, var(--rtc-primary) 0%, var(--rtc-primary-dark) 100%);border: 0;border-radius: 0.7rem;cursor: pointer;transition: transform 0.16s, box-shadow 0.16s;}
.rtc-draw svg{width: 1.05rem;height: 1.05rem;}
.rtc-draw:hover{transform: translateY(-1px);box-shadow: 0 10px 22px rgba(63, 51, 118, 0.3);}
.rtc-draw:focus-visible{outline: 2px solid var(--rtc-primary-dark);outline-offset: 3px;}
.rtc-draw:disabled{opacity: 0.65;cursor: progress;transform: none;box-shadow: none;}
.rtc-toggle{display: inline-flex;align-items: center;gap: 0.55rem;font-size: 0.88rem;color: var(--rtc-text-main);cursor: pointer;user-select: none;}
.rtc-toggle input{position: absolute;opacity: 0;width: 0;height: 0;}
.rtc-toggle-track{position: relative;width: 2.4rem;height: 1.35rem;background: var(--rtc-border-strong);border-radius: 999px;transition: background 0.18s;}
.rtc-toggle-track::after{content: "";position: absolute;top: 0.19rem;left: 0.19rem;width: 0.97rem;height: 0.97rem;background: #ffffff;border-radius: 50%;transition: transform 0.18s;}
.rtc-toggle input:checked + .rtc-toggle-track{background: var(--rtc-primary);}
.rtc-toggle input:checked + .rtc-toggle-track::after{transform: translateX(1.05rem);}
.rtc-toggle input:focus-visible + .rtc-toggle-track{outline: 2px solid var(--rtc-primary);outline-offset: 2px;}
.rtc-table{position: relative;padding: 1.5rem 1.25rem;background: radial-gradient(circle at 50% 0%, var(--rtc-felt-soft) 0%, var(--rtc-felt) 62%);border-bottom: 1px solid var(--rtc-border);}
.rtc-table-head{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: 0.4rem 1rem;margin-bottom: 1.15rem;}
.rtc-table-title{margin: 0;font-size: 1.02rem;font-weight: 700;color: var(--rtc-felt-text);}
.rtc-table-note{font-size: 0.82rem;color: var(--rtc-felt-dim);}
.rtc-empty{padding: 2.5rem 1rem;text-align: center;color: var(--rtc-felt-dim);}
.rtc-empty svg{width: 2.6rem;height: 2.6rem;margin-bottom: 0.7rem;color: var(--rtc-gold);opacity: 0.8;}
.rtc-empty p{margin: 0;font-size: 0.93rem;max-width: 34rem;margin-inline: auto;line-height: 1.55;}
.rtc-stage{display: grid;gap: 0.9rem;justify-content: center;max-width: 100%;}
.rtc-stage.is-single{grid-template-columns: minmax(0, 15rem);}
.rtc-stage.is-three{grid-template-columns: repeat(3, minmax(0, 12.5rem));}
.rtc-stage.is-celtic{grid-template-columns: repeat(4, minmax(0, 10.5rem));grid-template-areas: ". p5 . p10" "p4 p1 p6 p9" ". p2 . p8" ". p3 . p7";}
.rtc-stage.is-celtic .rtc-slot:nth-child(1){grid-area: p1;}
.rtc-stage.is-celtic .rtc-slot:nth-child(2){grid-area: p2;}
.rtc-stage.is-celtic .rtc-slot:nth-child(3){grid-area: p3;}
.rtc-stage.is-celtic .rtc-slot:nth-child(4){grid-area: p4;}
.rtc-stage.is-celtic .rtc-slot:nth-child(5){grid-area: p5;}
.rtc-stage.is-celtic .rtc-slot:nth-child(6){grid-area: p6;}
.rtc-stage.is-celtic .rtc-slot:nth-child(7){grid-area: p7;}
.rtc-stage.is-celtic .rtc-slot:nth-child(8){grid-area: p8;}
.rtc-stage.is-celtic .rtc-slot:nth-child(9){grid-area: p9;}
.rtc-stage.is-celtic .rtc-slot:nth-child(10){grid-area: p10;}
.rtc-slot{display: flex;flex-direction: column;gap: 0.4rem;min-width: 0;}
.rtc-slot-name{font-size: 0.73rem;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--rtc-gold);text-align: center;}
.rtc-card{display: block;position: relative;width: 100%;min-height: 15rem;aspect-ratio: 5 / 8;padding: 0;background: transparent;border: 0;cursor: pointer;perspective: 900px;font-family: inherit;}
.rtc-card:focus-visible{outline: 2px solid var(--rtc-gold);outline-offset: 3px;border-radius: 0.6rem;}
.rtc-card-inner{display: block;position: relative;width: 100%;height: 100%;transform-style: preserve-3d;transition: transform 0.55s cubic-bezier(0.4, 0.1, 0.2, 1);}
.rtc-card.is-flipped .rtc-card-inner{transform: rotateY(180deg);}
.rtc-face{position: absolute;inset: 0;display: flex;flex-direction: column;backface-visibility: hidden;-webkit-backface-visibility: hidden;border-radius: 0.6rem;overflow: hidden;}
.rtc-face-back{align-items: center;justify-content: center;gap: 0.4rem;background: linear-gradient(150deg, #2f2760 0%, #191436 100%);border: 1px solid var(--rtc-felt-line);box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);}
.rtc-face-back::before{content: "";position: absolute;inset: 0.4rem;border: 1px solid rgba(192, 138, 46, 0.45);border-radius: 0.4rem;}
.rtc-face-back svg{width: 42%;max-width: 3.4rem;color: var(--rtc-gold);opacity: 0.9;}
.rtc-face-back span{position: relative;font-size: 0.7rem;font-weight: 600;letter-spacing: 0.06em;text-transform: uppercase;color: var(--rtc-felt-dim);}
.rtc-card:hover .rtc-face-back{box-shadow: 0 12px 26px rgba(0, 0, 0, 0.45);}
.rtc-face-front{transform: rotateY(180deg);padding: 0.75rem 0.7rem;text-align: left;background: linear-gradient(165deg, #fdfbf6 0%, #f3eeff 100%);border: 1px solid var(--rtc-gold);box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);}
.rtc-card.is-reversed .rtc-face-front{background: linear-gradient(165deg, #fdf6f5 0%, #f6e9ea 100%);border-color: var(--rtc-rev);}
.rtc-face-top{display: flex;align-items: center;justify-content: space-between;gap: 0.3rem;margin-bottom: 0.4rem;}
.rtc-face-num{font-family: var(--rtc-mono);font-size: 0.68rem;font-weight: 700;color: var(--rtc-primary);}
.rtc-card.is-reversed .rtc-face-num{color: var(--rtc-rev);}
.rtc-face-rev{display: inline-flex;align-items: center;gap: 0.2rem;padding: 0.1rem 0.35rem;font-size: 0.6rem;font-weight: 700;letter-spacing: 0.04em;text-transform: uppercase;color: var(--rtc-rev);background: var(--rtc-rev-soft);border-radius: 999px;}
.rtc-face-glyph{flex: 1;display: flex;align-items: center;justify-content: center;min-height: 2.5rem;font-size: 2.9rem;line-height: 1;color: var(--rtc-primary);opacity: 0.5;margin-bottom: 0.4rem;}
.rtc-card.is-reversed .rtc-face-glyph{color: var(--rtc-rev);transform: rotate(180deg);}
.rtc-face-name{font-size: 0.92rem;font-weight: 700;line-height: 1.2;color: var(--rtc-text-main);text-align: center;}
.rtc-face-suit{margin-top: 0.15rem;font-size: 0.68rem;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase;color: var(--rtc-text-muted);text-align: center;}
.rtc-face-keys{margin-top: 0.5rem;padding-top: 0.45rem;border-top: 1px solid rgba(91, 75, 158, 0.2);font-size: 0.7rem;line-height: 1.4;color: var(--rtc-text-muted);text-align: center;}
.rtc-stage-actions{display: flex;flex-wrap: wrap;justify-content: center;gap: 0.55rem;margin-top: 1.25rem;}
.rtc-ghost{display: inline-flex;align-items: center;gap: 0.4rem;padding: 0.5rem 0.9rem;font-size: 0.85rem;font-weight: 600;font-family: inherit;color: var(--rtc-felt-text);background: rgba(255, 255, 255, 0.07);border: 1px solid var(--rtc-felt-line);border-radius: 0.6rem;cursor: pointer;transition: background 0.18s, border-color 0.18s;}
.rtc-ghost svg{width: 0.95rem;height: 0.95rem;}
.rtc-ghost:hover{background: rgba(255, 255, 255, 0.14);border-color: var(--rtc-gold);}
.rtc-ghost:focus-visible{outline: 2px solid var(--rtc-gold);outline-offset: 2px;}
.rtc-ghost.is-done{color: #0f172a;background: var(--rtc-gold-soft);border-color: var(--rtc-gold);}
.rtc-read{padding: 1.25rem;}
.rtc-signals{display: grid;grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));gap: 0.7rem;margin-bottom: 1.25rem;}
.rtc-signal{padding: 0.75rem 0.85rem;background: var(--rtc-surface-muted);border: 1px solid var(--rtc-border);border-radius: 0.7rem;}
.rtc-signal-label{display: block;font-size: 0.7rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--rtc-text-muted);}
.rtc-signal-value{display: block;margin-top: 0.2rem;font-size: 1.05rem;font-weight: 700;color: var(--rtc-text-main);}
.rtc-signal-note{display: block;margin-top: 0.15rem;font-size: 0.78rem;line-height: 1.4;color: var(--rtc-text-muted);}
.rtc-detail{border: 1px solid var(--rtc-border);border-radius: 0.75rem;overflow: hidden;}
.rtc-detail-item + .rtc-detail-item{border-top: 1px solid var(--rtc-border);}
.rtc-detail-head{display: flex;flex-wrap: wrap;align-items: baseline;gap: 0.3rem 0.6rem;padding: 0.8rem 1rem 0.5rem;}
.rtc-detail-pos{font-size: 0.7rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--rtc-primary);}
.rtc-detail-name{font-size: 1rem;font-weight: 700;color: var(--rtc-text-main);}
.rtc-detail-tag{padding: 0.1rem 0.4rem;font-size: 0.68rem;font-weight: 700;letter-spacing: 0.04em;text-transform: uppercase;border-radius: 999px;color: var(--rtc-primary-dark);background: #efeafc;}
.rtc-detail-tag.is-rev{color: var(--rtc-rev);background: var(--rtc-rev-soft);}
.rtc-detail-body{margin: 0;padding: 0 1rem 0.85rem;font-size: 0.92rem;line-height: 1.6;color: var(--rtc-text-main);}
.rtc-detail-alt{margin: 0;padding: 0 1rem 0.9rem;font-size: 0.84rem;line-height: 1.55;color: var(--rtc-text-muted);}
.rtc-actions{display: flex;flex-wrap: wrap;gap: 0.55rem;margin-top: 1.25rem;}
.rtc-btn{display: inline-flex;align-items: center;gap: 0.4rem;padding: 0.55rem 0.95rem;font-size: 0.88rem;font-weight: 600;font-family: inherit;color: var(--rtc-text-main);background: var(--rtc-surface-muted);border: 1px solid var(--rtc-border-strong);border-radius: 0.6rem;cursor: pointer;transition: border-color 0.18s, background 0.18s;}
.rtc-btn svg{width: 0.95rem;height: 0.95rem;}
.rtc-btn:hover{border-color: var(--rtc-primary);background: #f2eefb;}
.rtc-btn:focus-visible{outline: 2px solid var(--rtc-primary);outline-offset: 2px;}
.rtc-btn.is-done{color: #14532d;background: #e8f7ee;border-color: #86c9a4;}
.rtc-seed{margin: 0.9rem 0 0;font-size: 0.79rem;line-height: 1.5;color: var(--rtc-text-muted);}
.rtc-seed code{padding: 0.1rem 0.35rem;font-family: var(--rtc-mono);font-size: 0.76rem;color: var(--rtc-primary-dark);background: var(--rtc-surface-muted);border: 1px solid var(--rtc-border);border-radius: 0.3rem;}
.rtc-seo{padding: 0.5rem 0 2rem;}
.rtc-article h2{margin-bottom: 0.9rem;font-size: clamp(1.4rem, 2.6vw, 1.85rem);font-weight: 700;color: var(--rtc-text-main);}
.rtc-article h3{margin: 1.9rem 0 0.7rem;font-size: clamp(1.12rem, 2vw, 1.28rem);font-weight: 700;color: var(--rtc-text-main);}
.rtc-article p{margin-bottom: 0.9rem;font-size: 1rem;line-height: 1.75;color: var(--rtc-text-main);}
.rtc-article ul{margin: 0 0 1.1rem;padding-left: 1.2rem;}
.rtc-article li{margin-bottom: 0.55rem;font-size: 0.98rem;line-height: 1.7;color: var(--rtc-text-main);}
.rtc-article a{color: var(--rtc-primary-dark);text-decoration: underline;text-underline-offset: 2px;}
.rtc-article code{padding: 0.1rem 0.35rem;font-family: var(--rtc-mono);font-size: 0.88rem;color: var(--rtc-primary-dark);background: var(--rtc-surface-muted);border: 1px solid var(--rtc-border);border-radius: 0.3rem;}
.rtc-tablewrap{margin-bottom: 1.2rem;overflow-x: auto;border: 1px solid var(--rtc-border);border-radius: 0.7rem;}
.rtc-table-data{width: 100%;border-collapse: collapse;font-size: 0.92rem;}
.rtc-table-data th{padding: 0.6rem 0.85rem;text-align: left;font-weight: 700;color: var(--rtc-text-main);background: var(--rtc-surface-muted);border-bottom: 1px solid var(--rtc-border);white-space: nowrap;}
.rtc-table-data td{padding: 0.6rem 0.85rem;line-height: 1.55;color: var(--rtc-text-main);border-bottom: 1px solid var(--rtc-border);}
.rtc-table-data tr:last-child td{border-bottom: 0;}
.sr-only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}
@media (max-width: 900px){.rtc-stage.is-celtic{grid-template-columns: repeat(2, minmax(0, 11rem));grid-template-areas: "p1 p2" "p3 p4" "p5 p6" "p7 p8" "p9 p10";}}
@media (max-width: 640px){.rtc-setup, .rtc-table, .rtc-read{padding: 1rem;}.rtc-spreads{grid-template-columns: 1fr;}.rtc-stage.is-three, .rtc-stage.is-celtic{grid-template-columns: repeat(2, minmax(0, 1fr));max-width: 22rem;margin-inline: auto;}.rtc-draw{width: 100%;justify-content: center;}.rtc-actions .rtc-btn{flex: 1 1 auto;justify-content: center;}}
@media (max-width: 350px){.rtc-stage.is-three, .rtc-stage.is-celtic{grid-template-columns: minmax(0, 1fr);grid-template-areas: none;max-width: 12rem;}.rtc-stage.is-celtic .rtc-slot{grid-area: auto !important;}}
@media (prefers-reduced-motion: reduce){.rtc-card-inner{transition-duration: 0.01ms;}.rtc-draw:hover{transform: none;}}