.ruler-selector{background:var(--ruler-bg);border-radius:0;flex-shrink:0;height:var(--ruler-height-fluid);overflow:hidden;position:relative;touch-action:manipulation;transition:opacity .45s ease;user-select:none;-webkit-user-select:none;width:100%}.ruler-selector--disabled{pointer-events:none}.game-inner-card.drama-zoom-active .ruler-selector{opacity:0;transition:opacity .15s ease}.ruler-selector--disabled .ruler-section,.ruler-selector--disabled .ruler-slider-container,.ruler-selector--disabled .ruler-ticks{opacity:var(--opacity-disabled);transition:opacity var(--transition-fast)}.ruler-ticks{height:100%;left:0;pointer-events:none;position:absolute;right:0;top:0}.ruler-tick{background:var(--ruler-tick-color);position:absolute;top:0;transform:translateX(-50%);width:1px}.ruler-tick--major{height:var(--ruler-tick-major-height);opacity:.6}.ruler-tick--minor{height:var(--ruler-tick-minor-height);opacity:.3}.ruler-slider-container{align-items:center;bottom:0;display:flex;left:0;position:absolute;right:0;top:0}.ruler-slider{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;appearance:none;background:#0000;cursor:pointer;height:100%;margin:0;padding:0;touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%}.ruler-slider::-webkit-slider-runnable-track{background:#0000;border-radius:2px;height:4px;width:100%}.ruler-slider::-moz-range-track{background:#0000;border-radius:2px;height:4px;width:100%}.ruler-slider::-webkit-slider-thumb{appearance:none;background:var(--ruler-thumb-color);border:none;border-radius:2px;cursor:grab;height:var(--ruler-thumb-height);margin-top:-16px;-webkit-transition:transform var(--transition-quick),box-shadow var(--transition-quick);transition:transform var(--transition-quick),box-shadow var(--transition-quick);width:var(--ruler-thumb-width)}.ruler-slider::-moz-range-thumb{background:var(--ruler-thumb-color);border:none;border-radius:2px;cursor:grab;height:var(--ruler-thumb-height);-moz-transition:transform var(--transition-quick),box-shadow var(--transition-quick);transition:transform var(--transition-quick),box-shadow var(--transition-quick);width:var(--ruler-thumb-width)}.ruler-slider:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--overlay-primary-20)}.ruler-slider:hover::-moz-range-thumb{box-shadow:0 0 0 4px var(--overlay-primary-20)}.ruler-slider:active::-webkit-slider-thumb{box-shadow:0 0 0 6px var(--overlay-primary-30);cursor:grabbing;transform:scaleY(1.1)}.ruler-slider:active::-moz-range-thumb{box-shadow:0 0 0 6px var(--overlay-primary-30);cursor:grabbing;transform:scaleY(1.1)}.ruler-slider:focus{outline:none}.ruler-slider:focus-visible::-webkit-slider-thumb{box-shadow:var(--shadow-focus)}.ruler-slider:focus-visible::-moz-range-thumb{box-shadow:var(--shadow-focus)}.ruler-slider--active::-webkit-slider-thumb{animation:ruler-thumb-pulse 2.4s ease-in-out infinite}.ruler-slider--active::-moz-range-thumb{animation:ruler-thumb-pulse 2.4s ease-in-out infinite}@keyframes ruler-thumb-pulse{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.08)}}.ruler-slider:disabled{cursor:not-allowed}.ruler-slider:disabled::-webkit-slider-thumb{animation:none;background:var(--gray-400);cursor:not-allowed}.ruler-slider:disabled::-moz-range-thumb{animation:none;background:var(--gray-400);cursor:not-allowed}.ruler-chevrons{align-items:center;animation:ruler-chevron-wave 2s ease-in-out infinite;display:flex;gap:24px;justify-content:center;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.ruler-chevron{color:var(--primary-color);height:14px;width:20px}.ruler-chevron--left{transform:translateX(-8px)}.ruler-chevron--right{transform:translateX(8px)}@keyframes ruler-chevron-wave{0%,to{transform:translate(-50%,-50%) translateX(0)}25%{transform:translate(-50%,-50%) translateX(-3px)}50%{transform:translate(-50%,-50%) translateX(0)}75%{transform:translate(-50%,-50%) translateX(3px)}}.ruler-sections{align-items:stretch;left:0;right:0}.ruler-section,.ruler-sections{bottom:0;display:flex;position:absolute;top:0}.ruler-section{align-items:center;background:#0000;border:none;border-radius:0;cursor:pointer;flex-direction:column;font-family:var(--font-family-base);gap:6px;justify-content:center;padding-bottom:7px}.ruler-section:before{background:#0000;border-radius:0 0 var(--radius-sm) var(--radius-sm);content:"";inset:0 3px 4px;pointer-events:none;position:absolute;transition:background .2s ease;z-index:0}.ruler-section-ticks{align-items:flex-start;display:flex;gap:4px;pointer-events:none;position:relative;z-index:1}.ruler-section-tick{background:var(--gray-400);border-radius:0 0 1px 1px;transition:all .2s var(--ease-in-out);width:2px}.ruler-section-tick--side{height:6px}.ruler-section-tick--center{height:12px}.ruler-section-label{color:var(--text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-fluid-lg);font-weight:600;letter-spacing:0;line-height:1;pointer-events:none;position:relative;transition:all .2s ease;z-index:1}.ruler-section--hover:not(.ruler-section--eliminated):before,.ruler-section:hover:not(.ruler-section--eliminated):before{background:var(--overlay-primary-20)}.ruler-section--hover:not(.ruler-section--eliminated) .ruler-section-tick,.ruler-section:hover:not(.ruler-section--eliminated) .ruler-section-tick{background:var(--primary-color)}.ruler-section--hover:not(.ruler-section--eliminated) .ruler-section-tick--center,.ruler-section:hover:not(.ruler-section--eliminated) .ruler-section-tick--center{height:14px}.ruler-section--hover:not(.ruler-section--eliminated) .ruler-section-label,.ruler-section:hover:not(.ruler-section--eliminated) .ruler-section-label{color:var(--primary-color)}.ruler-section--selected:before{background:var(--overlay-primary-20)}.ruler-section--selected .ruler-section-tick{background:var(--primary-color);width:2px}.ruler-section--selected .ruler-section-tick--side{height:8px}.ruler-section--selected .ruler-section-tick--center{height:14px}.ruler-section--selected .ruler-section-label{color:var(--primary-color);font-weight:800}.ruler-section--selected:hover:before{background:var(--overlay-primary-30)}.ruler-section--correct:before{background:var(--overlay-success-20)}.ruler-section--correct .ruler-section-tick{background:var(--success-color);width:2px}.ruler-section--correct .ruler-section-tick--side{height:8px}.ruler-section--correct .ruler-section-tick--center{height:14px}.ruler-section--correct .ruler-section-label{color:var(--success-color);font-weight:800}.ruler-section--incorrect:before{background:var(--overlay-error-10)}.ruler-section--incorrect .ruler-section-tick{background:var(--error-color);width:2px}.ruler-section--incorrect .ruler-section-tick--side{height:8px}.ruler-section--incorrect .ruler-section-tick--center{height:14px}.ruler-section--incorrect .ruler-section-label{color:var(--error-color);font-weight:800}.ruler-selector--disabled .ruler-section--correct,.ruler-selector--disabled .ruler-section--incorrect{opacity:1}.ruler-section:focus{outline:none}.ruler-section:focus-visible{box-shadow:var(--shadow-focus)}.ruler-section:disabled{cursor:default}.ruler-section--correct:disabled,.ruler-section--incorrect:disabled{opacity:1}.ruler-sections--awaiting .ruler-section-tick{animation:tick-pulse 3s ease-in-out infinite}@keyframes tick-pulse{0%,to{opacity:1}50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.ruler-slider--active::-webkit-slider-thumb{animation:none}.ruler-slider--active::-moz-range-thumb{animation:none}.ruler-chevrons,.ruler-sections--awaiting .ruler-section-tick{animation:none}}@media (max-width:600px){.ruler-selector{height:clamp(46px,40px + 1vh,58px)}.ruler-section{font-size:var(--font-size-fluid-base)}.ruler-chevron{height:12px;width:16px}.ruler-chevrons{gap:20px}}@media (hover:none) and (pointer:coarse){.ruler-section{min-height:var(--a11y-min-touch-ios)}.ruler-selector,.ruler-slider-container{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.ruler-slider::-webkit-slider-thumb{border-radius:3px;width:12px}.ruler-slider::-moz-range-thumb{border-radius:3px;width:12px}}.ruler-section--eliminated{cursor:not-allowed;opacity:.35}.ruler-section--eliminated:disabled{cursor:not-allowed}.ruler-section--eliminated .ruler-section-label{text-decoration:line-through;text-decoration-thickness:2px}.ruler-section--eliminated .ruler-section-tick{opacity:.4}.ruler-section--answer:before{background:var(--overlay-success-20);box-shadow:inset 0 0 0 2px var(--success-color)}.ruler-section--answer .ruler-section-label{color:var(--success-color);font-weight:800}.ruler-section--answer .ruler-section-tick{background:var(--success-color)}.ruler-section--answer:disabled,.ruler-selector--disabled .ruler-section--answer{opacity:1}.streak-header .streak-mode-label{align-items:center;color:var(--plot-pen);display:inline-flex;font-family:var(--font-family-mono);font-weight:700;gap:3px;letter-spacing:.06em;text-transform:uppercase}.streak-status-bar{align-items:center;background:var(--level-area-bg);border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:10px 12px;row-gap:6px}.streak-best-chip,.streak-bounces-chip,.streak-round-chip,.streak-rule-chip{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-family:var(--font-family-mono);font-size:var(--font-size-fluid-sm);font-weight:600;gap:5px;letter-spacing:.02em;padding:5px 12px;white-space:nowrap}.streak-best-chip{font-feature-settings:"tnum";background:var(--interactive-bg);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:700}.streak-best-chip svg{color:var(--warning-color)}.streak-best-chip.is-record{background:var(--overlay-success-10);color:var(--success-color)}.streak-best-chip.is-record svg{color:var(--success-color)}.streak-best-value{display:inline-block}@media (prefers-reduced-motion:no-preference){.streak-best-value{animation:streakBestPop .4s var(--ease-spring)}}@keyframes streakBestPop{0%{transform:scale(1)}45%{transform:scale(1.35)}to{transform:scale(1)}}.streak-round-chip{background:var(--overlay-error-10);color:var(--plot-pen);font-weight:700}.streak-bounces-chip{background:var(--interactive-primary-bg);color:var(--primary-color)}.streak-rule-chip{font-feature-settings:"tnum";background:var(--interactive-bg);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.streak-game-area{position:relative}.streak-overlay{align-items:center;animation:streakFadeIn .25s var(--ease-out);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:var(--overlay-surface-95);display:flex;flex-direction:column;gap:10px;inset:0;justify-content:center;padding:24px;position:absolute;text-align:center;z-index:var(--z-index-loading)}@keyframes streakFadeIn{0%{opacity:0}to{opacity:1}}.streak-error-message{color:var(--error-color);font-size:var(--font-size-fluid-base);font-weight:600;line-height:1.5;margin:0;max-width:32ch}.streak-start-button{background:var(--primary-color);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-size:var(--font-size-button);font-weight:700;margin-top:8px;padding:14px 40px;transition:background var(--transition-quick),transform var(--transition-quick),box-shadow var(--transition-quick)}.streak-start-button:hover:not(:disabled){background:var(--primary-soft);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.streak-start-button:active:not(:disabled){transform:translateY(0)}.streak-start-button:disabled{cursor:wait;opacity:var(--opacity-disabled)}.streak-landing{gap:12px}.streak-landing-title{align-items:center;color:var(--text-primary);display:flex;flex-direction:column;font-size:var(--font-size-fluid-xl);font-weight:800;gap:7px;letter-spacing:-.01em;line-height:1.1;margin:0}.streak-landing-mode{align-items:center;color:var(--plot-pen);display:inline-flex;font-family:var(--font-family-mono);font-size:var(--font-size-fluid-base);font-weight:700;gap:6px;letter-spacing:.06em;text-transform:uppercase}.streak-landing-rules{color:var(--text-secondary);font-weight:500;line-height:1.5;max-width:42ch}.streak-landing-resume,.streak-landing-rules{font-size:var(--font-size-fluid-base);margin:0}.streak-landing-resume{color:var(--text-primary);font-weight:600}.streak-landing-start{margin-top:4px}.streak-landing-new-run{background:#0000;border:none;border-bottom:1px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-fluid-sm);font-weight:600;padding:4px 2px;transition:color var(--transition-quick),border-color var(--transition-quick)}.streak-landing-new-run:focus-visible,.streak-landing-new-run:hover{border-bottom-color:var(--primary-color);color:var(--primary-color);outline:none}.streak-cleared-overlay{-webkit-tap-highlight-color:transparent;align-items:flex-start;background:#0000;border:none;cursor:pointer;display:flex;inset:0;justify-content:center;margin:0;padding:22px 16px 0;position:absolute;z-index:var(--z-index-loading)}.streak-cleared-card{align-items:center;animation:streakCardIn .35s var(--ease-spring);background:var(--overlay-surface-98);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:7px;max-width:100%;min-width:232px;padding:18px 28px 13px}@keyframes streakCardIn{0%{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:none}}.streak-cleared-check{align-items:center;background:var(--success-color);border-radius:var(--radius-full);color:#fff;display:flex;font-size:19px;font-weight:800;height:36px;justify-content:center;width:36px}.streak-cleared-title{color:var(--text-primary);font-size:var(--font-size-fluid-lg);font-weight:800;letter-spacing:-.01em;line-height:1.2;white-space:nowrap}.streak-cleared-next{background:var(--interactive-primary-bg);border-radius:var(--radius-full);color:var(--primary-color);font-size:var(--font-size-fluid-sm);font-weight:700;padding:3px 13px;white-space:nowrap}.streak-cleared-progress{background:var(--gray-200);border-radius:var(--radius-full);height:3px;margin-top:6px;overflow:hidden;width:100%}.streak-cleared-progress-fill{animation-fill-mode:forwards;animation-name:streakProgressDrain;animation-timing-function:linear;background:var(--success-color);border-radius:inherit;display:block;height:100%;transform-origin:left center}[dir=rtl] .streak-cleared-progress-fill{transform-origin:right center}@keyframes streakProgressDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.streak-cleared-hint{color:var(--text-tertiary);font-size:var(--font-size-fluid-xs);font-weight:600;white-space:nowrap}@media (prefers-reduced-motion:reduce){.streak-cleared-card{animation:none}.streak-cleared-progress{display:none}}.streak-reopen-chip{background:var(--overlay-surface-98);border:1px solid var(--border-color);border-radius:var(--radius-full);bottom:14px;box-shadow:var(--shadow-lg);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-fluid-sm);font-weight:700;left:50%;padding:9px 20px;position:absolute;transform:translateX(-50%);transition:transform var(--transition-quick);z-index:var(--z-index-loading)}.streak-reopen-chip:hover{transform:translateX(-50%) translateY(-1px)}.streak-over-modal .modal-content{text-align:center}.streak-over-score{align-items:center;display:flex;flex-direction:column;gap:2px;margin:6px 0 14px}.streak-over-number{font-feature-settings:"tnum";color:var(--primary-color);font-size:3.25rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.streak-over-label{color:var(--text-secondary);font-size:var(--font-size-fluid-sm);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.streak-over-stats{display:flex;gap:12px;justify-content:center;margin-bottom:14px}.streak-over-stat{align-items:center;background:var(--interactive-bg);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:2px;min-width:84px;padding:10px 14px}.streak-over-stat-value{font-feature-settings:"tnum";color:var(--text-primary);font-size:var(--font-size-fluid-xl);font-variant-numeric:tabular-nums;font-weight:800}.streak-over-stat-label{color:var(--text-tertiary);font-size:var(--font-size-fluid-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.streak-over-detail{color:var(--text-secondary);font-size:var(--font-size-fluid-sm);margin:0 0 12px}.streak-over-actions{align-items:stretch;display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.streak-again-button{background:var(--primary-color);border:1.5px solid var(--primary-color);border-radius:var(--radius-sm);box-shadow:2px 2px 0 var(--overlay-primary-30);color:#fff;cursor:pointer;font-size:var(--font-size-button);font-weight:700;padding:12px 20px;transition:background var(--transition-quick),border-color var(--transition-quick),box-shadow var(--transition-quick),transform var(--transition-quick)}.streak-again-button:hover{background:var(--primary-soft);border-color:var(--primary-soft)}.streak-again-button:active{box-shadow:1px 1px 0 var(--overlay-primary-30);transform:translate(1px,1px)}.streak-share-button{justify-content:center;width:100%}.streak-over-modal .share-button-primary{background:#0000;border:1.5px solid var(--overlay-primary-40);box-shadow:none;color:var(--primary-color)}.streak-over-modal .share-button-primary:hover{background:var(--overlay-primary-10);border-color:var(--primary-color)}.streak-over-modal .share-button-primary:active{background:var(--overlay-primary-20);box-shadow:none;transform:translate(1px,1px)}.streak-over-modal.rating-perfect .streak-over-number{color:var(--success-color)}.streak-over-number,.streak-over-stat-value{font-feature-settings:"tnum";font-family:var(--font-family-mono);font-variant-numeric:tabular-nums}