:root{--primary: #b45309;--primary-dark: #92400e;--border: #eadfca;--surface: #ffffff;--shadow-soft: 0 6px 24px rgba(120,80,10,0.09);--surface-muted: #fdf8ee;--text-main: #1f2430;--text-muted: #5d6472;--fc-gold: #e8a91b;--fc-gold-soft: #fde7a6;--fc-gold-ink: #6b4204;--fc-silver: #8b95a5;--fc-silver-soft: #dfe3ea;--fc-silver-ink: #2f3744;--fc-ok: #15803d;}
.fc-card{background: var(--surface);border: 1px solid var(--border);border-radius: 16px;box-shadow: var(--shadow-soft);overflow: hidden;margin-bottom: 2.5rem;}
.fc-meta{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.5rem 1rem;padding: 0.75rem 1.25rem;border-bottom: 1px solid var(--border);background: var(--surface-muted);font-size: 0.875rem;color: var(--text-muted);}
.fc-meta-author{font-weight: 600;color: var(--text-main);}
.fc-meta .author-link{color: var(--primary-dark);font-weight: 600;text-decoration: none;}
.fc-meta .author-link:hover{text-decoration: underline;}
.fc-meta .author-link:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}
.fc-body{display: grid;grid-template-columns: 1fr;}
.fc-stage{display: flex;flex-direction: column;align-items: center;gap: 1rem;padding: 1.5rem 1.25rem;background: radial-gradient(ellipse at 50% 28%,#fff6dc 0,var(--surface) 72%);}
.fc-scene{position: relative;display: flex;align-items: center;justify-content: center;width: 100%;height: 240px;perspective: 900px;}
.fc-toss{display: flex;align-items: center;justify-content: center;}
.fc-toss.fc-lift{animation: fc-lift 1.1s ease-in-out;}
@keyframes fc-lift{0%,100%{transform: translateY(0);}45%{transform: translateY(-48px);}}
.fc-coin{position: relative;width: 176px;height: 176px;padding: 0;border: 0;border-radius: 50%;background: none;cursor: pointer;transform-style: preserve-3d;transition: transform 1.1s cubic-bezier(0.2,0.7,0.2,1);}
.fc-coin:focus-visible{outline: 3px solid var(--primary);outline-offset: 8px;}
.fc-coin[aria-disabled="true"]{cursor: wait;}
.fc-face{position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;border-radius: 50%;font-size: 4.25rem;font-weight: 800;line-height: 1;backface-visibility: hidden;-webkit-backface-visibility: hidden;}
.fc-face-h{background: radial-gradient(circle at 35% 30%,#ffe493,var(--fc-gold) 58%,#b97a08);color: var(--fc-gold-ink);box-shadow: inset 0 0 0 6px rgba(255,255,255,0.38),inset 0 0 0 10px rgba(120,70,0,0.22);}
.fc-face-t{background: radial-gradient(circle at 35% 30%,#f4f6f9,#bac1cc 58%,#7d8795);color: var(--fc-silver-ink);box-shadow: inset 0 0 0 6px rgba(255,255,255,0.45),inset 0 0 0 10px rgba(40,50,70,0.2);transform: rotateX(180deg);}
.fc-shadow{position: absolute;bottom: 14px;left: 50%;width: 150px;height: 16px;margin-left: -75px;border-radius: 50%;background: radial-gradient(ellipse,rgba(80,50,0,0.28) 0,rgba(80,50,0,0) 70%);}
.fc-result{width: 100%;min-height: 5.75rem;text-align: center;}
.fc-result-label{font-size: 0.75rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--text-muted);}
.fc-result-main{margin: 0.125rem 0 0;font-size: 2.25rem;font-weight: 800;line-height: 1.15;color: var(--text-main);word-break: break-word;}
.fc-result-note{margin: 0.375rem auto 0;max-width: 30rem;font-size: 0.9375rem;line-height: 1.45;color: var(--text-muted);}
.fc-count{display: flex;flex-wrap: wrap;justify-content: center;gap: 0.375rem;margin: 0;padding: 0;border: 0;}
.fc-count legend{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0,0,0,0);border: 0;}
.fc-count label{position: relative;margin: 0;}
.fc-count input{position: absolute;inset: 0;width: 100%;height: 100%;margin: 0;opacity: 0;cursor: pointer;}
.fc-count span{display: inline-block;min-width: 3.5rem;padding: 0.5rem 0.875rem;border: 1px solid var(--border);border-radius: 999px;background: var(--surface);font-size: 0.9375rem;font-weight: 600;text-align: center;color: var(--text-main);}
.fc-count input:checked + span{background: var(--text-main);border-color: var(--text-main);color: #ffffff;}
.fc-count input:focus-visible + span{outline: 2px solid var(--primary);outline-offset: 2px;}
.fc-flip{display: inline-flex;align-items: center;justify-content: center;gap: 0.5rem;width: 100%;max-width: 22rem;padding: 0.875rem 1.5rem;border: 0;border-radius: 12px;background: linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);font-size: 1.0625rem;font-weight: 700;color: #ffffff;cursor: pointer;transition: transform 0.15s,box-shadow 0.15s;}
.fc-flip:hover{transform: translateY(-1px);box-shadow: 0 8px 20px rgba(146,64,14,0.3);}
.fc-flip:active{transform: translateY(0);}
.fc-flip:focus-visible{outline: 2px solid var(--primary-dark);outline-offset: 3px;}
.fc-flip[aria-disabled="true"]{opacity: 0.7;cursor: wait;transform: none;box-shadow: none;}
.fc-hint{margin: 0;font-size: 0.8125rem;color: var(--text-muted);text-align: center;}
.fc-hint kbd{padding: 0.0625rem 0.375rem;border: 1px solid var(--border);border-radius: 4px;background: var(--surface);font-size: 0.75rem;color: var(--text-main);}
.fc-panel{display: flex;flex-direction: column;gap: 1.25rem;padding: 1.5rem 1.25rem;border-top: 1px solid var(--border);}
.fc-eyebrow{display: block;margin-bottom: 0.5rem;font-size: 0.75rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--text-muted);}
.fc-chips{display: flex;flex-wrap: wrap;gap: 0.5rem;}
.fc-chip{padding: 0.4375rem 0.875rem;border: 1px solid var(--border);border-radius: 999px;background: var(--surface);font-size: 0.875rem;font-weight: 600;color: var(--text-main);cursor: pointer;transition: border-color 0.15s,background 0.15s;}
.fc-chip:hover{border-color: var(--primary);}
.fc-chip[aria-pressed="true"]{background: var(--primary);border-color: var(--primary);color: #ffffff;}
.fc-chip:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}
.fc-fields{display: grid;grid-template-columns: 1fr 1fr;gap: 0.75rem;}
.fc-chips + .fc-fields{margin-top: 0.75rem;}
.fc-field label{display: block;margin-bottom: 0.25rem;font-size: 0.875rem;font-weight: 600;color: var(--text-main);}
.fc-input{width: 100%;padding: 0.625rem 0.875rem;border: 1px solid var(--border);border-radius: 8px;background: var(--surface);font-size: 1rem;color: var(--text-main);}
.fc-input:focus{outline: none;border-color: var(--primary);box-shadow: 0 0 0 3px rgba(180,83,9,0.18);}
.fc-field-note{grid-column: 1 / -1;min-height: 1.25rem;margin: 0;font-size: 0.8125rem;color: var(--text-muted);}
.fc-split{display: flex;height: 14px;overflow: hidden;border: 1px solid var(--border);border-radius: 999px;background: var(--surface-muted);}
.fc-split-h{width: 0;background: var(--fc-gold);transition: width 0.4s;}
.fc-split-t{width: 0;background: var(--fc-silver);transition: width 0.4s;}
.fc-tally{display: grid;grid-template-columns: 1fr 1fr;gap: 0.75rem;margin-top: 0.75rem;}
.fc-tally-cell{padding: 0.75rem 0.875rem;border: 1px solid var(--border);border-radius: 10px;border-top-width: 4px;}
.fc-tally-cell-h{border-top-color: var(--fc-gold);}
.fc-tally-cell-t{border-top-color: var(--fc-silver);}
.fc-tally-name{overflow: hidden;font-size: 0.8125rem;font-weight: 700;text-overflow: ellipsis;white-space: nowrap;color: var(--text-muted);}
.fc-tally-num{font-size: 1.75rem;font-weight: 800;line-height: 1.2;color: var(--text-main);}
.fc-tally-pct{font-size: 0.875rem;color: var(--text-muted);}
.fc-stats{display: grid;grid-template-columns: repeat(3,1fr);gap: 0.5rem;margin: 0;}
.fc-stat{padding: 0.5rem 0.375rem;border-radius: 8px;background: var(--surface-muted);text-align: center;}
.fc-stat dt{font-size: 0.6875rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--text-muted);}
.fc-stat dd{margin: 0.125rem 0 0;font-size: 1.0625rem;font-weight: 700;color: var(--text-main);}
.fc-history{display: flex;flex-wrap: wrap;gap: 4px;min-height: 22px;}
.fc-history-empty{margin: 0;font-size: 0.875rem;color: var(--text-muted);}
.fc-dot{display: inline-flex;align-items: center;justify-content: center;width: 22px;height: 22px;border-radius: 50%;font-size: 0.6875rem;font-weight: 700;}
.fc-dot-h{background: var(--fc-gold-soft);color: var(--fc-gold-ink);}
.fc-dot-t{background: var(--fc-silver-soft);color: var(--fc-silver-ink);}
.fc-actions{display: flex;flex-wrap: wrap;gap: 0.5rem;}
.fc-btn{display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.5rem 1rem;border: 1px solid var(--border);border-radius: 8px;background: var(--surface);font-size: 0.875rem;font-weight: 600;color: var(--text-main);cursor: pointer;transition: border-color 0.15s,color 0.15s;}
.fc-btn:hover{border-color: var(--primary);color: var(--primary-dark);}
.fc-btn:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}
.fc-btn.fc-done{background: var(--fc-ok);border-color: var(--fc-ok);color: #ffffff;}
.fc-article{margin-bottom: 2rem;}
.fc-article h2{margin: 2.25rem 0 0.75rem;font-size: 1.5rem;font-weight: 700;line-height: 1.3;color: var(--text-main);}
.fc-article h2:first-child{margin-top: 0;}
.fc-article p{margin: 0 0 1rem;font-size: 1.0625rem;line-height: 1.7;color: var(--text-main);}
.fc-article a{font-weight: 600;color: var(--primary-dark);text-decoration: underline;text-underline-offset: 2px;}
.fc-article a:hover{color: var(--primary);}
.fc-article code{padding: 0.0625rem 0.375rem;border-radius: 4px;background: var(--surface-muted);font-size: 0.9375rem;color: var(--primary-dark);}
.fc-lede{font-size: 1.25rem;font-weight: 600;line-height: 1.5;}
.fc-callout{margin: 1.5rem 0;padding: 1rem 1.25rem;border-left: 4px solid var(--fc-gold);border-radius: 0 10px 10px 0;background: var(--surface-muted);}
.fc-callout strong{display: block;margin-bottom: 0.25rem;color: var(--fc-gold-ink);}
.fc-callout p{margin: 0;font-size: 1rem;}
.fc-table-wrap{margin: 1.25rem 0;overflow-x: auto;border: 1px solid var(--border);border-radius: 10px;}
.fc-table{width: 100%;min-width: 30rem;border-collapse: collapse;font-size: 0.9375rem;}
.fc-table caption{padding: 0.75rem 1rem;caption-side: top;font-size: 0.875rem;text-align: left;color: var(--text-muted);}
.fc-table th,.fc-table td{padding: 0.625rem 1rem;border-top: 1px solid var(--border);text-align: left;color: var(--text-main);}
.fc-table thead th{background: var(--surface-muted);font-size: 0.8125rem;letter-spacing: 0.04em;text-transform: uppercase;color: var(--text-muted);}
.fc-sides{display: grid;grid-template-columns: 1fr;gap: 0.75rem;margin: 1.25rem 0;padding: 0;list-style: none;}
.fc-sides li{padding: 0.875rem 1rem;border: 1px solid var(--border);border-radius: 10px;font-size: 1rem;line-height: 1.55;}
.fc-sides b{display: block;margin-bottom: 0.125rem;color: var(--text-main);}
.fc-aside{position: static;}
@media (min-width: 640px){.fc-sides{grid-template-columns: 1fr 1fr;}}
@media (min-width: 900px){.fc-body{grid-template-columns: 1.05fr 1fr;}.fc-panel{border-top: 0;border-left: 1px solid var(--border);padding: 1.75rem;}.fc-stage{padding: 1.75rem 1.5rem;}}
@media (min-width: 992px){.fc-aside{position: sticky;top: 9rem;}}
@media (max-width: 480px){.fc-fields{grid-template-columns: 1fr;}.fc-coin{width: 148px;height: 148px;}.fc-face{font-size: 3.5rem;}.fc-scene{height: 210px;}.fc-result-main{font-size: 1.875rem;}}
@media (prefers-reduced-motion: reduce){.fc-coin,.fc-split-h,.fc-split-t,.fc-flip,.fc-chip,.fc-btn{transition: none;}.fc-toss.fc-lift{animation: none;}}
