:root{--color-bg: #f7f2fb;--color-bg-top: #faf4ff;--color-bg-bottom: #fdf8f5;--color-surface: #fffcfa;--color-surface-alt: #f3ebfa;--color-surface-muted: #faf6fd;--color-text: #3d3348;--color-heading: #5a4a6e;--color-muted: #7a7085;--color-border: #e4d8ef;--color-primary: #8b5fbf;--color-primary-hover: #7a4fad;--color-focus: #5b9fd4;--color-accent-warm: #f4e8ff;--shadow-soft: 0 2px 10px rgba(123, 79, 158, .08);--shadow-panel: 0 4px 16px rgba(123, 79, 158, .1);--shadow-panel-accent: 0 4px 20px rgba(123, 79, 158, .14);--shadow-button: 0 2px 6px rgba(61, 51, 72, .08);--shadow-button-hover: 0 4px 12px rgba(123, 79, 158, .16);--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius: 14px;--radius-pill: 999px;--max-width: 680px;--transition-playful: .16s ease;--font-display: "Comfortaa", "Nunito", sans-serif;--font-body: "Nunito", "Segoe UI", system-ui, sans-serif;--shadow-button-primary: 0 3px 0 #6a4890, 0 5px 14px rgba(123, 79, 158, .32);--shadow-button-primary-hover: 0 4px 0 #6a4890, 0 8px 18px rgba(123, 79, 158, .38);--shadow-button-primary-active: 0 1px 0 #6a4890, 0 3px 8px rgba(123, 79, 158, .22)}body{background:linear-gradient(180deg,var(--color-bg-top) 0%,var(--color-bg-bottom) 55%,var(--color-bg) 100%);color:var(--color-text);min-height:100vh}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen{max-width:var(--max-width);margin:0 auto;padding:var(--space-md) var(--space-md) var(--space-xl)}.screen__title{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1.2}.screen__subtitle{margin:0;color:var(--color-muted);line-height:1.55;font-size:1rem}.screen__meta{margin:0;color:var(--color-muted);font-size:.9rem;text-align:center}.screen__actions,.game-actions{display:flex;flex-direction:column;gap:var(--space-sm);align-items:stretch}.section-heading{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.01em;text-transform:none;color:var(--color-heading)}.result-message,.empty-note{margin:0 0 var(--space-lg);color:var(--color-muted);line-height:1.6}.screen--start{display:flex;flex-direction:column;gap:var(--space-lg)}.start-header{text-align:center;padding:var(--space-md) var(--space-sm);border-radius:calc(var(--radius) + 2px);background:linear-gradient(165deg,var(--color-surface) 0%,var(--color-surface-alt) 100%);border:1px solid var(--color-border);box-shadow:var(--shadow-soft)}.start-header__title{margin:0 0 var(--space-md);font-family:var(--font-display);font-size:clamp(1.45rem,4.5vw,1.85rem);font-weight:700;line-height:1.15;color:var(--color-text)}.start-hero-ensemble{display:flex;flex-wrap:nowrap;justify-content:center;align-items:flex-end;gap:var(--space-xs) clamp(.25rem,1.2vw,.65rem);margin:0 auto var(--space-md);padding:0;max-width:100%;list-style:none}.start-hero-ensemble__item{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:0 1 auto;min-width:0;max-width:5.25rem}.start-hero-ensemble__button{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:100%;min-width:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:calc(var(--radius) - 2px);transition:transform var(--transition-playful),background var(--transition-playful)}.start-hero-ensemble__button:hover{background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.start-hero-ensemble__button:active{transform:scale(.98)}.start-hero-ensemble__button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.start-hero-ensemble__figure-wrap{display:flex;align-items:flex-end;justify-content:center;width:100%}.start-hero-ensemble__figure{display:block;height:clamp(96px,13.5vw,118px);width:auto;max-width:100%;object-fit:contain;object-position:center bottom}.start-hero-ensemble__figure--mirrored{transform:scaleX(-1)}.start-hero-ensemble__name{font-size:.72rem;font-weight:600;line-height:1.25;text-align:center;color:var(--color-text);overflow-wrap:anywhere}.start-header__subtitle{margin:0;max-width:28rem;margin-inline:auto;color:var(--color-muted);font-size:.95rem;line-height:1.55}.start-legend{margin:0;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft)}.start-example{margin:0 0 var(--space-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft)}.start-example__rows{display:flex;flex-direction:column;gap:.3rem;align-items:center}.start-example__row{display:flex;flex-direction:row;align-items:center;gap:.45rem}.start-example__label{flex:0 0 3.4rem;font-size:.76rem;font-weight:700;line-height:1.2;color:var(--color-muted);text-align:right}.start-example__ponies{display:flex;flex-wrap:nowrap;gap:.25rem;align-items:center}.start-example__pony{display:block;width:2.1rem;height:1.9rem;object-fit:contain;object-position:center bottom}.start-example__pony--mirrored{transform:scaleX(-1)}.start-mode .section-heading,.start-legend .section-heading{margin-bottom:var(--space-sm)}.screen--start .feedback-legend--compact{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);padding:0;border-radius:0;background:transparent}.start-legend__note{margin:0;font-size:.78rem;line-height:1.45;color:var(--color-muted)}.start-actions{margin-top:auto}.start-mode{margin:0}.start-mode .section-heading{margin-bottom:var(--space-sm)}.mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.mode-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-height:44px;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:center;cursor:pointer;box-shadow:var(--shadow-soft);transition:border-color var(--transition-playful),background var(--transition-playful),box-shadow var(--transition-playful),transform var(--transition-playful)}.mode-card:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));transform:translateY(-1px);box-shadow:var(--shadow-panel)}.mode-card:focus{outline:none}.mode-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.mode-card--selected{border-color:var(--color-primary);background:linear-gradient(165deg,var(--color-surface) 0%,color-mix(in srgb,var(--color-primary) 12%,var(--color-accent-warm)) 100%);box-shadow:var(--shadow-panel-accent)}.mode-card__feedback{display:flex;flex-wrap:nowrap;gap:.2rem;justify-content:center;min-height:1.5rem}.mode-card__title{font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.25;color:var(--color-heading)}.mode-card__subtitle{font-size:.78rem;font-weight:600;line-height:1.35;color:var(--color-muted)}.game-header{margin-bottom:var(--space-md)}.game-header__title{margin:0 0 var(--space-xs);font-family:var(--font-display);font-size:1.15rem;font-weight:700}.game-header__attempts{margin:0;color:var(--color-muted);font-size:.95rem}.game-section{margin-bottom:var(--space-lg)}.game-section--history{padding:var(--space-sm) var(--space-md);border-radius:var(--radius);background:color-mix(in srgb,var(--color-surface-muted) 88%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 75%,transparent);box-shadow:none}.game-section--history .section-heading{font-size:.88rem;font-weight:600;color:var(--color-muted);margin-bottom:var(--space-xs)}.game-section--history .empty-note{margin-bottom:0;font-size:.88rem}.game-section--current{padding:var(--space-md);border:2px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border));border-radius:calc(var(--radius) + 2px);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-accent-warm) 100%);box-shadow:var(--shadow-panel-accent)}.game-section--palette{padding:var(--space-md);border:2px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:calc(var(--radius) + 2px);background:var(--color-surface);box-shadow:var(--shadow-panel)}.game-layout{display:flex;flex-direction:column}.game-section--palette .section-heading{color:var(--color-heading)}.game-layout__history--mobile{display:none}.game-play-zone{display:block}.feedback-legend-inline{padding:.35rem .5rem;border-radius:var(--radius);background:var(--color-surface-alt)}.feedback-legend-inline__row{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center;justify-content:center}.feedback-legend-inline__item{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;line-height:1.2;color:var(--color-muted);white-space:nowrap}.feedback-legend-inline__note{margin:.2rem 0 0;font-size:.65rem;line-height:1.25;text-align:center;color:color-mix(in srgb,var(--color-muted) 90%,transparent)}.secret-slots{display:flex;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-lg)}.secret-slots__slot{position:relative;display:flex;align-items:center;justify-content:center;width:2.35rem;height:2.85rem;border-radius:10px;background:linear-gradient(165deg,#faf0ff,#eadcf8);border:1.5px dashed color-mix(in srgb,var(--color-primary) 38%,var(--color-border));box-shadow:inset 0 1px #ffffffa6}.secret-slots__symbol{--pony-tone: color-mix(in srgb, var(--color-primary) 62%, #fff);position:relative;display:block;width:1.15rem;height:1.05rem}.secret-slots__mane{position:absolute;left:-.02rem;top:.2rem;width:.34rem;height:.78rem;background:var(--pony-tone);border-radius:65% 22% 52% 38%;transform:rotate(-7deg)}.secret-slots__symbol:before{content:"";position:absolute;left:.2rem;top:.16rem;width:.74rem;height:.7rem;background:var(--pony-tone);border-radius:44% 40% 50% 46%;box-shadow:.1rem -.3rem 0 -.07rem var(--pony-tone),.28rem -.24rem 0 -.09rem var(--pony-tone)}.secret-slots__symbol:after{content:"";position:absolute;right:-.06rem;top:.46rem;width:.38rem;height:.28rem;background:var(--pony-tone);border-radius:18% 68% 62% 32%}.button{min-height:44px;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:calc(var(--radius) - 2px);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:700;cursor:pointer;box-shadow:var(--shadow-button);transition:transform var(--transition-playful),box-shadow var(--transition-playful),background var(--transition-playful),border-color var(--transition-playful)}.button:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));transform:translateY(-1px);box-shadow:var(--shadow-button-hover)}.button:active:not(:disabled){transform:translateY(0) scale(.98)}.button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.button--secondary{border:1px solid color-mix(in srgb,var(--color-primary) 38%,var(--color-border));border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb,var(--color-surface-alt) 55%,var(--color-surface));color:var(--color-primary);box-shadow:var(--shadow-button)}.button--secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border));background:color-mix(in srgb,var(--color-accent-warm) 45%,var(--color-surface))}.button--primary{position:relative;isolation:isolate;overflow:hidden;border:2px solid #6e4a96;border-radius:calc(var(--radius) + 4px);background:linear-gradient(180deg,#b794e8 0%,#a578dc 20%,#9468cc 48%,var(--color-primary) 78%,#734ba8 100%);color:#fff;text-shadow:0 1px 0 rgba(61,40,90,.22);box-shadow:inset 0 1px #ffffff57,var(--shadow-button-primary)}.button--primary:before{content:"";position:absolute;inset:3px 10px auto;height:44%;border-radius:calc(var(--radius) + 2px) calc(var(--radius) + 2px) 50% 50%;background:linear-gradient(180deg,#ffffff4d,#fff0);pointer-events:none}.button--primary:hover:not(:disabled){background:linear-gradient(180deg,#c4a2ef,#b088e4 20%,#9f74d4 48%,#9168c4 78%,#7d55ad);border-color:#7a5498;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff5c,var(--shadow-button-primary-hover)}.button--primary:active:not(:disabled){background:linear-gradient(180deg,#9a74cc 0%,#8d66c0 35%,var(--color-primary-hover) 100%);transform:translateY(1px) scale(.99);box-shadow:inset 0 1px #ffffff29,var(--shadow-button-primary-active)}.character-card{display:block;flex-shrink:0}.character-card__frame{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px;border:1px solid color-mix(in srgb,var(--token-color) 40%,var(--color-border));background:color-mix(in srgb,var(--token-color) 14%,var(--color-surface))}.character-card__image{display:block;width:100%;height:100%;object-fit:contain}.character-card--palette{width:100%}.character-card--palette .character-card__frame{width:100%;height:96px;padding:6px 8px 4px;border-radius:10px 10px 0 0;border:none;background:color-mix(in srgb,var(--token-color) 18%,var(--color-surface))}.character-card--palette .character-card__image{max-height:86px;width:auto;max-width:100%;object-position:center bottom;transform-origin:center center}.character-card--mirrored.character-card--palette .character-card__image{transform:scaleX(-1)}.character-card--guess,.character-card--history,.character-card--result{--card-framing-zoom: 1.62}.character-card--guess .character-card__frame,.character-card--result .character-card__frame{width:52px;height:64px;padding:0}.character-card--history .character-card__frame{width:38px;height:46px;padding:0;border-radius:6px}.character-card--guess .character-card__image,.character-card--history .character-card__image,.character-card--result .character-card__image{object-position:center center;transform-origin:center center;transform:scale(var(--card-framing-zoom))}.character-card--mirrored.character-card--guess .character-card__image,.character-card--mirrored.character-card--history .character-card__image,.character-card--mirrored.character-card--result .character-card__image{transform:scale(var(--card-framing-zoom)) scaleX(-1)}.character-token{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem}.character-token--card-only{display:inline-block}.character-token__name{font-size:.72rem;font-weight:600;text-align:center;line-height:1.2;max-width:5.5rem}.character-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.character-palette__button{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--token-color) 45%,var(--color-border));border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb,var(--token-color) 8%,var(--color-surface));color:var(--color-text);font:inherit;text-align:center;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform var(--transition-playful),box-shadow var(--transition-playful),background var(--transition-playful),border-color var(--transition-playful)}.character-palette__button:hover:not(:disabled){background:color-mix(in srgb,var(--token-color) 14%,var(--color-surface));border-color:color-mix(in srgb,var(--token-color) 65%,var(--color-border));transform:translateY(-2px);box-shadow:var(--shadow-panel)}.character-palette__button:active:not(:disabled){transform:translateY(0) scale(.98)}.character-palette__button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.character-palette__button:disabled{opacity:.45;cursor:not-allowed}.character-palette__name{padding:6px 6px 8px;font-size:.8rem;font-weight:600;line-height:1.2}.guess-history{margin:0;padding:0;list-style:none}.guess-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);min-height:52px}.guess-row__number{width:1.25rem;color:color-mix(in srgb,var(--color-muted) 85%,transparent);font-size:.82rem;font-weight:600;text-align:right;flex-shrink:0}.guess-row__pegs{display:flex;flex-wrap:nowrap;gap:.35rem;flex:0 1 auto;min-width:0}.guess-row__separator{width:1px;align-self:stretch;min-height:2.75rem;margin:0 .15rem;background:var(--color-border);flex-shrink:0}.guess-row--beginner{align-items:flex-start}.guess-row__positional{display:flex;flex-wrap:nowrap;gap:.35rem;flex:1;min-width:0}.guess-row__slot{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex:0 0 auto}.history-carousel{min-width:0}.history-carousel__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-bottom:.35rem}.history-carousel__header .section-heading{margin-bottom:0}.history-carousel__indicator{margin:0;font-size:.78rem;font-weight:600;color:var(--color-muted);white-space:nowrap}.history-carousel__empty{margin:0;font-size:.84rem}.history-carousel__viewport{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:.15rem;overflow:hidden}.history-carousel__track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:0;scrollbar-width:none}.history-carousel__track::-webkit-scrollbar{display:none}.history-carousel__slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;min-width:0;box-sizing:border-box}.history-carousel__slide .guess-row--carousel{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100%;margin:0;padding:.45rem .35rem;min-height:0;border:1px solid color-mix(in srgb,var(--color-border) 85%,transparent);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden}.guess-row--carousel .guess-row__positional{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem;width:100%;max-width:100%;justify-items:center;align-items:start}.guess-row--carousel .guess-row__slot{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.2rem;width:100%;min-width:0}.guess-row--carousel .guess-row__pegs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem;width:100%;max-width:100%;justify-items:center}.guess-row--carousel .guess-row__separator{display:none}.guess-row--carousel.guess-row--classic .feedback-group{width:100%;margin:.25rem 0 0;justify-content:center}.guess-row--carousel .character-card--history{--card-framing-zoom: 1.15}.guess-row--carousel .character-card--history .character-card__frame{width:min(100%,46px);height:52px;overflow:hidden}.guess-row--carousel .character-card--history .character-card__image{max-width:100%;max-height:100%}.guess-row--carousel .feedback-token--history{width:30px;height:30px;flex-shrink:0}.history-carousel__nav{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:0;border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border));border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-primary);font-size:1.35rem;font-weight:700;line-height:1;cursor:pointer;box-shadow:var(--shadow-soft)}.history-carousel__nav:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.history-carousel__nav:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.game-bottom-bar{display:flex;align-items:stretch;gap:var(--space-sm);padding:.5rem var(--space-sm) calc(.5rem + env(safe-area-inset-bottom,0px));border-top:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-accent-warm) 100%);box-shadow:0 -4px 16px #7b4f9e14}.game-bottom-bar__delete{flex:0 1 38%;min-width:0;min-height:48px;padding-top:.55rem;padding-bottom:.55rem}.game-bottom-bar__confirm{flex:1 1 62%;min-width:0;min-height:48px;padding-top:.55rem;padding-bottom:.55rem}.game-layout__bottom-bar{display:none;flex-shrink:0;margin-inline:calc(var(--space-sm) * -1)}.feedback-group{display:flex;flex-wrap:nowrap;gap:.4rem;padding:.15rem 0;flex-shrink:0;margin-left:auto}.feedback-token{display:inline-block;flex-shrink:0;overflow:hidden;border-radius:var(--radius-pill);border:2.5px solid transparent;padding:0;background:transparent;line-height:0}.feedback-token--history{width:40px;height:40px}.feedback-token--legend{width:46px;height:46px}.feedback-token--demo{width:28px;height:28px}.feedback-token--smile{border-color:#27ae60}.feedback-token--wink{border-color:#d4ac0d}.feedback-token--oops{border-color:#e84393}.feedback-token__image{display:block;width:100%;height:100%;object-fit:cover}.feedback-legend{margin:0 0 var(--space-md);padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.feedback-legend--compact{flex-direction:row;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-sm);border-radius:var(--radius);background:var(--color-surface-alt)}.feedback-legend__item{display:flex;align-items:center;gap:var(--space-sm);font-size:.88rem;color:var(--color-muted)}.feedback-legend--compact .feedback-legend__item{font-size:.78rem}.feedback-legend-block{display:flex;flex-direction:column;gap:.25rem;margin-bottom:var(--space-lg)}.feedback-legend-block .feedback-legend--compact{margin-bottom:0}.feedback-legend__note{margin:0;padding:0 var(--space-sm);font-size:.76rem;line-height:1.35;color:var(--color-muted)}.current-guess-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.current-guess-header .section-heading{margin:0}.current-guess__counter{margin:0;font-size:.85rem;font-weight:600;color:var(--color-primary)}.current-guess{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-sm)}.current-guess__slot{display:flex;align-items:center;justify-content:center;min-height:68px;padding:4px;border:1.5px dashed color-mix(in srgb,var(--color-primary) 22%,var(--color-border));border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-accent-warm))}.current-guess__slot:has(.character-card--guess){border-style:solid;border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));box-shadow:inset 0 0 0 1px #ffffff80}.current-guess__empty{color:var(--color-muted);font-size:.95rem;font-weight:600}.screen--result{display:flex;flex-direction:column;gap:var(--space-md)}.result-panel{padding:var(--space-lg) var(--space-md);border-radius:calc(var(--radius) + 4px);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-alt) 100%);border:1px solid var(--color-border);box-shadow:var(--shadow-panel);text-align:center}.result-panel__title{text-align:center}.result-hero{width:4rem;height:4rem;margin:0 auto var(--space-md);border-radius:var(--radius-pill);background:radial-gradient(circle at 30% 30%,#f4e8ff,#c4a0e0);border:2px solid color-mix(in srgb,var(--color-primary) 40%,#fff);box-shadow:var(--shadow-soft)}.screen--result .result-message{text-align:center;margin-bottom:var(--space-md)}.result-secret__code{max-width:28rem;margin:0 auto}.result-panel__actions{align-items:center;margin-top:var(--space-md)}.character-profile-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#2d233a6b}.character-profile-sheet{display:flex;flex-direction:column;width:100%;max-height:min(66dvh,66vh);border:1px solid var(--color-border);border-bottom:none;border-radius:calc(var(--radius) + 6px) calc(var(--radius) + 6px) 0 0;background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-alt) 100%);box-shadow:var(--shadow-panel-accent);overflow:hidden}.character-profile-sheet__header{display:flex;justify-content:flex-end;padding:calc(var(--space-sm) + env(safe-area-inset-top,0px)) var(--space-sm) 0}.character-profile-sheet__close{flex:0 0 auto;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-muted);font-size:1.35rem;line-height:1;cursor:pointer}.character-profile-sheet__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.character-profile-sheet__body{overflow:auto;padding:0 var(--space-md) calc(var(--space-md) + env(safe-area-inset-bottom,0px));text-align:center}.character-profile-sheet__hero{display:flex;align-items:flex-end;justify-content:center;min-height:clamp(120px,28vw,168px);margin-bottom:var(--space-sm)}.character-profile-sheet__figure{display:block;max-height:clamp(120px,28vw,168px);width:auto;max-width:min(100%,220px);object-fit:contain;object-position:center bottom}.character-profile-sheet__figure--mirrored{transform:scaleX(-1)}.character-profile-sheet__name{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:clamp(1.2rem,4.5vw,1.45rem);font-weight:700;line-height:1.2;color:var(--color-heading)}.character-profile-sheet__cutie-mark{display:block;width:min(72px,22vw);height:auto;margin:0 auto var(--space-sm)}.character-profile-sheet__harmony{margin:0 0 var(--space-sm);font-size:.92rem;font-weight:700;line-height:1.35;color:var(--color-primary)}.character-profile-sheet__harmony-label{color:var(--color-muted);font-weight:600}.character-profile-sheet__description{margin:0;max-width:28rem;margin-inline:auto;font-size:.92rem;line-height:1.55;color:var(--color-text)}.how-to-play-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:calc(var(--space-md) + env(safe-area-inset-top,0px)) var(--space-md) calc(var(--space-md) + env(safe-area-inset-bottom,0px));background:#2d233a6b}.how-to-play-dialog{position:relative;display:flex;flex-direction:column;width:min(100%,920px);max-height:min(92dvh,900px);border:1px solid var(--color-border);border-radius:calc(var(--radius) + 4px);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-alt) 100%);box-shadow:var(--shadow-panel-accent);overflow:hidden}.how-to-play-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md) var(--space-md) var(--space-sm);border-bottom:1px solid color-mix(in srgb,var(--color-border) 80%,transparent)}.how-to-play-dialog__title{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--color-heading)}.how-to-play-dialog__close{flex:0 0 auto;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-muted);font-size:1.35rem;line-height:1;cursor:pointer}.how-to-play-dialog__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.how-to-play-dialog__body{overflow:auto;padding:var(--space-sm) var(--space-md) var(--space-md)}.how-to-play-dialog__steps{display:flex;flex-direction:column;gap:.35rem;margin:0 0 var(--space-md);padding:var(--space-sm) var(--space-md);list-style:none;border:1px solid var(--color-border);border-radius:var(--radius);background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.how-to-play-dialog__step{display:flex;align-items:baseline;gap:.35rem;font-size:.86rem;font-weight:600;line-height:1.35;color:var(--color-text)}.how-to-play-dialog__step-number{flex-shrink:0;min-width:1.1rem;color:var(--color-primary);font-weight:700}.how-to-play-dialog__step-text{min-width:0}.how-to-play-dialog__meta{margin:0 0 var(--space-md);font-size:.84rem;font-weight:600;line-height:1.4;text-align:center;color:var(--color-muted)}.how-to-play-dialog__scroll-hint{position:absolute;left:50%;bottom:calc(var(--space-sm) + env(safe-area-inset-bottom,0px));z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:0;border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--color-border));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-surface) 92%,transparent);color:var(--color-primary);font-size:1.2rem;font-weight:700;line-height:1;cursor:pointer;box-shadow:var(--shadow-soft);transform:translate(-50%);animation:how-to-play-scroll-hint 2.4s ease-in-out infinite}.how-to-play-dialog__scroll-hint:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@keyframes how-to-play-scroll-hint{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(4px)}}.how-to-play-dialog__intro{margin:0 0 var(--space-md);color:var(--color-muted);font-size:.92rem;line-height:1.5;text-align:center}.how-to-play-dialog__columns{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.how-to-play__column{padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft);min-width:0}.how-to-play__column-title{margin:0 0 .25rem;font-family:var(--font-display);font-size:.98rem;font-weight:700;color:var(--color-heading)}.how-to-play__column-note{margin:0 0 var(--space-sm);font-size:.78rem;line-height:1.4;color:var(--color-muted)}.how-to-play__secret{display:flex;align-items:center;gap:.45rem;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px dashed color-mix(in srgb,var(--color-border) 70%,transparent)}.how-to-play__row-label{flex:0 0 3rem;font-size:.72rem;font-weight:700;color:var(--color-muted);text-align:right}.how-to-play__ponies{display:flex;flex-wrap:nowrap;gap:.2rem;min-width:0}.how-to-play__pony{display:block;width:1.85rem;height:1.65rem;object-fit:contain;object-position:center bottom}.how-to-play__pony--mirrored{transform:scaleX(-1)}.how-to-play__attempts{margin:0;padding:0;list-style:none}.how-to-play__attempt{display:flex;align-items:center;gap:.35rem;padding:.35rem 0;border-bottom:1px solid color-mix(in srgb,var(--color-border) 55%,transparent)}.how-to-play__attempt:last-child{border-bottom:none}.how-to-play__attempt-number{flex:0 0 1rem;font-size:.75rem;font-weight:700;color:var(--color-muted)}.how-to-play__beginner-slots{display:flex;flex-wrap:nowrap;gap:.2rem;min-width:0}.how-to-play__beginner-slot{display:flex;flex-direction:column;align-items:center;min-width:0}.how-to-play__connector{display:block;width:1px;height:.38rem;margin:.08rem 0;background:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));border-radius:1px}.how-to-play__classic-row{display:flex;align-items:center;gap:.45rem;flex:1;min-width:0}.how-to-play__classic-guess{display:flex;flex-wrap:nowrap;gap:.15rem;min-width:0;flex:1 1 auto}.how-to-play__classic-feedback{display:grid;grid-template-columns:repeat(2,28px);grid-template-rows:repeat(2,28px);gap:.18rem;flex:0 0 auto;padding:.1rem;border-radius:calc(var(--radius) - 4px);background:color-mix(in srgb,var(--color-surface-muted) 70%,transparent)}.how-to-play__attempt--classic{flex-wrap:nowrap}.how-to-play-dialog__legend{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem .85rem;margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid color-mix(in srgb,var(--color-border) 75%,transparent)}.how-to-play-dialog__legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--color-muted);white-space:nowrap}@media(min-width:720px){.how-to-play-dialog__columns{grid-template-columns:1fr 1fr;align-items:start}.how-to-play-dialog__legend{flex-wrap:nowrap;gap:var(--space-md)}}@media(max-width:479px){.how-to-play__classic-row{gap:.3rem}.how-to-play__classic-guess{gap:.1rem}.how-to-play__classic-feedback{grid-template-columns:repeat(2,24px);grid-template-rows:repeat(2,24px);gap:.14rem}.how-to-play__classic-feedback .feedback-token--demo{width:24px;height:24px}.how-to-play__beginner-slots{gap:.12rem}.how-to-play-dialog__legend-item{white-space:normal}}@media(min-width:480px){.character-profile-overlay{align-items:center;padding:var(--space-md)}.character-profile-sheet{width:min(100%,26rem);max-height:min(85dvh,85vh);border-bottom:1px solid var(--color-border);border-radius:calc(var(--radius) + 6px)}.character-profile-sheet__header{padding:var(--space-sm) var(--space-sm) 0}}@media(min-width:480px){.screen__actions,.game-actions{flex-direction:row;flex-wrap:wrap;align-items:center}.button{min-width:160px}.screen--start .screen__actions{flex-direction:column;align-items:stretch}.screen--start .button--primary,.screen--start .button--secondary{width:100%}.game-play-zone{display:contents}.game-layout__palette{order:40}.game-layout__legend--desktop{order:41}.game-layout__actions{order:42}}@media(max-width:479px){.screen--game{--game-mobile-height: 100dvh;max-width:none;height:var(--game-mobile-height);height:100vh;padding:calc(var(--space-sm) + env(safe-area-inset-top,0px)) var(--space-sm) 0;overflow-x:hidden;overflow-y:hidden;display:flex;flex-direction:column}.screen--game .game-layout{display:flex;flex-direction:column;flex:1;min-height:0;gap:.3rem}.screen--game .game-layout__header{flex-shrink:0;margin-bottom:0}.screen--game .game-header__title{font-size:.95rem}.screen--game .game-header__attempts{font-size:.78rem}.screen--game .game-layout__secret,.screen--game .game-layout__history--desktop,.screen--game .game-layout__legend--desktop,.screen--game .game-layout__actions{display:none}.screen--game .game-layout__current{order:10;flex-shrink:0;margin-bottom:0;padding:.45rem var(--space-sm)}.screen--game .game-layout__history--mobile{order:20;display:flex;flex-direction:column;flex:0 0 auto;min-height:0;margin-bottom:0;padding:.2rem 0;overflow:hidden}.screen--game .game-play-zone{order:30;flex-shrink:0;display:block;margin-top:0;padding:0;border:none;background:transparent;box-shadow:none}.screen--game .current-guess-header{margin-bottom:.2rem}.screen--game .current-guess-header .section-heading{font-size:.86rem}.screen--game .current-guess__counter{font-size:.72rem}.screen--game .game-layout__bottom-bar{order:40;display:flex;flex-shrink:0;margin-top:auto}.start-header__title{margin-bottom:var(--space-sm)}.start-hero-ensemble{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm) var(--space-xs);align-items:end;justify-items:center;margin-bottom:0}.start-hero-ensemble__item{gap:.3rem;width:100%;max-width:none}.start-hero-ensemble__button{gap:.3rem}.start-hero-ensemble__figure-wrap{height:clamp(68px,20vw,84px)}.start-hero-ensemble__figure{height:100%}.start-hero-ensemble__name{font-size:.64rem;line-height:1.2}.mode-selector{grid-template-columns:1fr}.screen--game .history-carousel__header .section-heading{font-size:.78rem}.screen--game .history-carousel__indicator{font-size:.72rem}.screen--game .game-layout__palette{flex-shrink:0;margin-bottom:0;padding:0;border:none;background:transparent;box-shadow:none}.screen--game .game-layout__palette-heading{margin-bottom:.2rem;font-size:.76rem;font-weight:600;color:var(--color-muted)}.screen--game .character-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}.screen--game .character-card--palette .character-card__frame{height:58px;padding:1px 3px 0}.screen--game .character-card--palette .character-card__image{max-height:54px}.screen--game .character-palette__name{padding:3px 3px 5px;font-size:.62rem}.screen--game .character-palette__button{min-height:44px}.screen--start{gap:var(--space-md)}.start-header{padding:var(--space-sm) var(--space-xs)}.start-example{padding:.45rem .5rem;margin-bottom:var(--space-sm)}.start-example__label{flex-basis:2.85rem;font-size:.72rem}.start-example__row{gap:.3rem}.start-example__pony{width:1.55rem;height:1.45rem}.start-example__ponies{gap:.15rem}.mode-card__subtitle{font-size:.72rem}.feedback-token--demo{width:20px;height:20px}}@media(max-width:420px){.start-hero-ensemble__figure-wrap{height:clamp(64px,19vw,78px)}.start-hero-ensemble__name{font-size:.6rem}.screen--start .feedback-legend--compact{flex-direction:column;align-items:flex-start}.character-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.screen--game .character-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.guess-row{flex-wrap:wrap}.guess-row--beginner{flex-wrap:nowrap}.guess-row--beginner .guess-row__positional{gap:.2rem}.guess-row__separator{display:none}.feedback-group{width:100%;justify-content:flex-start;margin-left:1.75rem}.screen--game .guess-row--classic .feedback-group{width:auto;margin-left:0;flex-wrap:nowrap}}@media(max-width:360px){.character-card--guess .character-card__frame,.character-card--result .character-card__frame{width:44px;height:56px}.character-card--history .character-card__frame{width:34px;height:42px}.feedback-token--history{width:36px;height:36px}}@media(prefers-reduced-motion:reduce){.button,.character-palette__button{transition:none}.button:hover:not(:disabled),.button:active:not(:disabled),.character-palette__button:hover:not(:disabled),.character-palette__button:active:not(:disabled){transform:none}}:root{--font-body: "Nunito", "Segoe UI", system-ui, sans-serif;--font-display: "Comfortaa", "Nunito", sans-serif;font-family:var(--font-body);line-height:1.5}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}button{font:inherit}
