/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-outline-style:solid}::backdrop{--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.isolate{isolation:isolate}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--bg:#090b14;--panel:#111522;--panel-2:#171d2d;--cell:#1b2234;--line:#303a52;--ink:#f7f8fc;--muted:#9da6ba;--blue:#6f8cff;--blue-soft:#bac6ff;--coral:#ff6f61;--amber:#ffc857;--teal:#32d6bd;--green:#60e6a6;--danger:#ff746d}*{box-sizing:border-box}html{background:var(--bg)}body{background:radial-gradient(circle at 14% 0%, #6f8cff2e, transparent 27rem), radial-gradient(circle at 96% 40%, #ff6f6117, transparent 22rem), var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,summary{font:inherit}:is(button:focus-visible,summary:focus-visible){outline-offset:3px;outline:3px solid #6f8cff99}.app-shell{min-height:100vh;padding:24px 12px 44px}.game-column{max-width:610px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;margin-bottom:15px;padding:0 3px;display:flex}.brand{letter-spacing:.075em;align-items:center;gap:10px;font-size:17px;font-weight:950;display:flex}.version-chip{color:var(--blue-soft);letter-spacing:.08em;background:#6f8cff1f;border:1px solid #6f8cff59;border-radius:999px;padding:3px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px}.brand-mark{grid-template-columns:repeat(2,8px);gap:2px;display:grid;transform:rotate(45deg)}.brand-mark i{background:var(--blue);border-radius:2px;height:8px}.brand-mark i:nth-child(2){background:var(--coral)}.brand-mark i:nth-child(3){background:var(--teal)}.brand-mark i:nth-child(4){background:var(--amber)}.brand-symbol{filter:drop-shadow(0 5px 10px #05080f6b);flex:none;width:32px;height:32px;display:block;overflow:visible}.brand-symbol path{fill:none;stroke-linecap:round;stroke-linejoin:round}.brand-symbol__underlay{stroke:#090b14;stroke-width:10px}.brand-symbol__flow{stroke:url(#rulessa-flow);stroke-width:6px}.brand-symbol__finish{stroke:url(#rulessa-finish);stroke-width:6px}.brand-symbol__node{fill:#32d6bd}.brand-symbol__end{fill:#ff6f61}.day-stats{color:var(--muted);align-items:center;gap:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;display:flex}.streak{color:var(--amber)}.game-card{background:linear-gradient(155deg,#171d2dfc,#0d111cfc);border:1px solid #909db833;border-radius:26px;padding:22px;position:relative;overflow:hidden;box-shadow:0 30px 90px #00000061}.game-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#6f8cff26,#0000 68%);width:260px;height:260px;position:absolute;top:-150px;right:-130px}.game-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.eyebrow{color:var(--blue-soft);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:850}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:0;font-size:clamp(23px,5.6vw,30px);line-height:1.03}.difficulty{color:var(--blue-soft);background:#6f8cff1a;border:1px solid #6f8cff61;border-radius:999px;flex:none;padding:6px 9px;font-size:10px;font-weight:900}.truth-banner{background:#6f8cff14;border:1px solid #6f8cff40;border-radius:11px;align-items:center;gap:6px;min-height:34px;margin-top:15px;padding:7px 10px;font-size:10px;display:flex}.truth-banner strong{color:var(--blue-soft)}.truth-banner span{color:var(--muted)}.mode-legend{border:1px solid var(--line);background:#070a1273;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px;padding:7px;display:grid}.mode-legend span{justify-content:center;align-items:center;gap:5px;min-width:0;display:flex}.mode-legend strong{color:var(--muted);text-transform:uppercase;font-size:8px}.mode-legend i{color:var(--ink);letter-spacing:.06em;background:#242d42;border-radius:5px;padding:3px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-style:normal}.score-row{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:13px 2px 8px;display:grid}.score-row>div{align-items:baseline;gap:5px;display:flex}.score-row span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:850}.score-row strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}.score-row p{color:#6f7b93;text-align:center;text-transform:uppercase;margin:0;font-size:8px;font-weight:750}.lives-counter{justify-self:end}.lives-counter strong{gap:3px;display:flex}.lives-counter i{color:#3f475b;font-size:13px;font-style:normal;transition:color .18s,transform .18s}.lives-counter i.is-live{color:var(--coral);filter:drop-shadow(0 0 6px #ff6f6147)}.logic-board{grid-template-columns:minmax(76px,.78fr) repeat(3,1fr);gap:6px;width:100%;display:grid}.board-row{display:contents}.board-corner{color:#68748b;letter-spacing:.06em;background:#080b1475;border:1px dashed #39445d;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:850;line-height:1.7;display:flex}.rule-card{background:linear-gradient(150deg,#1e263afa,#151b2bfa);border:1px solid #38445e;border-radius:12px;min-width:0;padding:8px 7px 7px;transition:background .15s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.rule-card__label{color:#748099;letter-spacing:.08em;margin-bottom:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:900;display:block}.rule-card__conditions{gap:5px;display:grid}.rule-condition{min-width:0;padding-right:11px;position:relative}.rule-condition span{color:var(--muted);letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:3px;font-size:7px;font-weight:800;display:flex;overflow:hidden}.rule-condition span i{color:var(--blue-soft);width:9px;font-size:8px;font-style:normal}.rule-condition strong{color:var(--ink);white-space:nowrap;margin-left:12px;font-size:9px;line-height:1.15;display:block}.rule-condition b{font-size:8px;position:absolute;top:9px;right:0}.rule-condition--pass strong,.rule-condition--pass b{color:var(--green)}.rule-condition--fail strong,.rule-condition--fail b{color:var(--danger)}.rule-result{border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:9px;font-weight:950;display:flex;position:absolute;top:5px;right:5px}.rule-card--pass .rule-result{color:var(--green);background:#60e6a629}.rule-card--fail .rule-result{color:var(--danger);background:#ff746d29}.tile-cell{aspect-ratio:1;color:inherit;cursor:pointer;background:linear-gradient(145deg,#1d2539fc,#141928fc);border:1px solid #34415c;border-radius:14px;justify-content:center;align-items:center;min-width:0;padding:0;transition:background .13s,border-color .13s,box-shadow .13s,transform .13s;display:flex;position:relative;overflow:hidden}.tile-cell:hover{background:linear-gradient(145deg,#252f48fc,#181f31fc);border-color:#586987;transform:translateY(-1px)}.tile-cell:disabled{cursor:default;opacity:1;transform:none}.tile-cell--selected{border-color:var(--blue-soft);box-shadow:0 0 0 2px var(--blue), 0 0 22px #6f8cff4d;background:linear-gradient(145deg,#323c70fa,#1d2447fa);transform:translateY(-2px)}.tile-cell--swapped{animation:.34s cubic-bezier(.2,.8,.2,1) swapPop}.tile-mark--coral{color:var(--coral)}.tile-mark--amber{color:var(--amber)}.tile-mark--teal{color:var(--teal)}.tile-shape--solid{fill:currentColor;stroke:#0000}.tile-shape--outline{fill:#0000;stroke:currentColor;stroke-width:7px}.tile-shape--striped{stroke:currentColor;stroke-width:4px}.stripe-base{fill:currentColor;opacity:.12}.stripe-line{stroke:currentColor;stroke-width:5px}.tile-coordinates{color:#59657b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:6px;font-weight:800;position:absolute;bottom:5px;left:6px}.game-message{border:1px solid var(--line);background:#06091185;border-radius:12px;align-items:center;gap:9px;min-height:43px;margin-top:11px;padding:8px 10px;display:flex}.game-message>span{color:var(--blue-soft);background:#252e43;border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:900;display:flex}.game-message p{color:var(--muted);margin:0;font-size:10px;line-height:1.4}.game-message--good{border-color:#60e6a652}.game-message--good>span{color:var(--green);background:#60e6a624}.game-message--error{border-color:#ff746d61}.game-message--error>span{color:var(--danger);background:#ff746d24}.game-controls{grid-template-columns:.8fr .8fr 1.4fr;gap:7px;margin-top:9px;display:grid}.control-button,.check-button,.share-button,.practice-button{cursor:pointer;border-radius:11px;min-height:43px;font-size:10px;font-weight:900}.control-button{color:var(--ink);background:#192135;border:1px solid #38465f}.control-button small{color:var(--muted);text-transform:uppercase;margin-top:1px;font-size:6px;font-weight:750;display:block}.control-button:hover{background:#222c44;border-color:#596b8e}.control-button:disabled{cursor:not-allowed;opacity:.4}.check-button{background:linear-gradient(135deg, var(--blue), #526edb);color:#fff;border:0;justify-content:space-between;align-items:center;padding:0 13px;display:flex}.check-button:hover{filter:brightness(1.1)}.check-button:disabled{cursor:not-allowed;filter:grayscale(.5);opacity:.48}.result-panel{background:linear-gradient(145deg,#2152457a,#192539e6);border:1px solid #60e6a673;border-radius:16px;margin-top:11px;padding:15px;animation:.45s cubic-bezier(.2,.85,.2,1) resultIn}.result-panel h2{letter-spacing:-.04em;margin-bottom:6px;font-size:22px}.result-panel>p:not(.eyebrow){color:var(--muted);margin-bottom:13px;font-size:11px;line-height:1.5}.result-panel strong{color:var(--ink)}.result-actions{grid-template-columns:1fr 1.35fr;gap:7px;display:grid}.share-button,.reveal-button{background:linear-gradient(135deg, var(--blue), #526edb);color:#fff;border:0}.reveal-button{cursor:pointer;border-radius:11px;min-height:43px;font-size:10px;font-weight:900}.reveal-button:disabled{cursor:default;filter:grayscale(.55);opacity:.5}.practice-button{color:var(--ink);background:#ffffff0f;border:1px solid #44536e}.share-button:hover,.practice-button:hover,.reveal-button:hover:not(:disabled){filter:brightness(1.1)}.countdown{color:var(--muted);text-align:center;margin-top:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;display:block}.how-it-works{color:var(--muted);background:#111522c2;border:1px solid #909db82e;border-radius:15px;margin-top:11px;padding:12px 14px;font-size:11px}.how-it-works summary{color:var(--ink);cursor:pointer;font-size:11px;font-weight:900}.how-it-works ol{margin:10px 0 8px;padding-left:18px;line-height:1.55}.how-it-works li+li{margin-top:4px}.how-it-works p{border-top:1px solid #909db826;margin:9px 0 0;padding-top:9px;font-size:10px;line-height:1.5}.how-it-works strong{color:var(--ink)}.tutorial-replay{color:var(--blue-soft);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-top:9px;padding:0;font-size:9px;font-weight:850;text-decoration:underline}footer{color:#6f788a;text-align:center;margin-top:12px;font-size:9px}.tutorial-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;background:#05070dd6;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.tutorial-modal{background:linear-gradient(150deg,#192139,#0f1423);border:1px solid #bac6ff47;border-radius:24px;width:100%;max-width:430px;padding:18px;animation:.42s cubic-bezier(.2,.85,.2,1) tutorialIn;overflow:hidden;box-shadow:0 30px 100px #0009}.tutorial-topline{justify-content:space-between;align-items:center;display:flex}.tutorial-topline>span{color:var(--blue-soft);letter-spacing:.1em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:900}.tutorial-topline button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px;font-size:9px;font-weight:800}.tutorial-stage{background:radial-gradient(circle at 55% 45%,#6f8cff26,#0000 48%),#0b101d;border:1px solid #2d3851;border-radius:18px;height:235px;margin-top:13px;position:relative;overflow:hidden}.tutorial-mini-grid{grid-template-columns:repeat(3,48px);gap:6px;display:grid;position:absolute;top:55%;left:50%;transform:translate(-42%,-50%)}.tutorial-mini-grid>i{background:#1d2639;border:1px solid #3a4865;border-radius:9px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative}.tutorial-mini-grid>i:after{content:"";opacity:.32;background:#67748d;border-radius:50%;width:12px;height:12px}.tutorial-mini-grid>i:nth-child(3n):after{border-radius:2px}.tutorial-mini-grid>i:nth-child(3n+2):after{background:var(--amber)}.tutorial-mini-grid>i:nth-child(3n+1):after{background:var(--teal)}.tutorial-mini-grid .tutorial-target{border-color:var(--blue-soft);box-shadow:0 0 0 2px var(--blue), 0 0 18px #6f8cff52;z-index:2;background:#313d70eb}.tutorial-mini-grid .tutorial-target:after{display:none}.tutorial-target span{color:var(--coral);font-size:25px;line-height:1}.tutorial-column-rule,.tutorial-row-rule{background:#1b2438;border:1px solid #3b4965;border-radius:9px;width:75px;padding:7px;line-height:1.15;transition:border-color .26s,box-shadow .26s,transform .26s;display:grid;position:absolute}.tutorial-column-rule{top:12px;left:calc(50% - 29px)}.tutorial-row-rule{top:calc(55% - 29px);left:12px}.tutorial-column-rule small,.tutorial-row-rule small{color:#72809b;margin-bottom:3px;font-size:6px;font-weight:900}.tutorial-column-rule span,.tutorial-row-rule span{color:var(--muted);text-transform:uppercase;font-size:6px;font-weight:800}.tutorial-column-rule strong,.tutorial-row-rule strong{color:var(--ink);margin-top:2px;font-size:8px}.tutorial-column-rule b,.tutorial-row-rule b{color:var(--green);opacity:0;position:absolute;top:5px;right:5px}.tutorial-lives{color:var(--coral);opacity:0;gap:5px;display:flex;position:absolute;bottom:15px;right:17px}.tutorial-check-flash{background:linear-gradient(135deg, var(--blue), #526edb);color:#fff;opacity:0;border-radius:8px;padding:9px 11px;font-size:8px;font-weight:900;position:absolute;bottom:39px;right:15px;transform:translateY(10px)}.tutorial-check-flash strong{margin-left:6px}.tutorial-stage--0 .tutorial-column-rule,.tutorial-stage--0 .tutorial-row-rule{animation:1.5s ease-in-out infinite alternate guideCardPulse}.tutorial-stage--1 .tutorial-target{animation:1.25s cubic-bezier(.2,.85,.2,1) infinite alternate tutorialLand}.tutorial-stage--1 .tutorial-column-rule,.tutorial-stage--1 .tutorial-row-rule{border-color:var(--blue-soft);box-shadow:0 0 18px #6f8cff3d}.tutorial-stage--2 .tutorial-lives,.tutorial-stage--2 .tutorial-check-flash{opacity:1;animation:1.8s ease-in-out infinite tutorialCheck}.tutorial-stage--2 .tutorial-column-rule,.tutorial-stage--2 .tutorial-row-rule{border-color:#60e6a6b3}.tutorial-stage--2 .tutorial-column-rule b,.tutorial-stage--2 .tutorial-row-rule b{opacity:1}.tutorial-copy p{color:var(--blue-soft);letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:900}.tutorial-copy h2{letter-spacing:-.045em;margin-bottom:7px;font-size:23px}.tutorial-copy>span{color:var(--muted);font-size:11px;line-height:1.5;display:block}.tutorial-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.tutorial-dots{gap:0;display:flex}.tutorial-dots button{cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.tutorial-dots button:before{content:"";background:#44506a;border-radius:999px;width:7px;height:7px;transition:background .16s,width .16s}.tutorial-dots button.is-active:before{background:var(--blue);width:22px}.tutorial-next{background:linear-gradient(135deg, var(--blue), #526edb);color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:40px;padding:0 15px;font-size:10px;font-weight:900}@keyframes swapPop{0%{opacity:.5;transform:scale(.84)rotate(-3deg)}70%{opacity:1;transform:scale(1.06)rotate(1deg)}to{transform:scale(1)}}@keyframes resultIn{0%{opacity:0;transform:translateY(9px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes crossingPulse{0%{transform:scale(.96)}45%{transform:scale(1.045)}to{transform:scale(1)}}@keyframes tutorialIn{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes guideCardPulse{0%{box-shadow:none;border-color:#3b4965}to{border-color:var(--blue-soft);box-shadow:0 0 18px #6f8cff3d}}@keyframes tutorialLand{0%{opacity:.3;transform:translate(-106px,57px)rotate(-8deg)scale(.78)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}@keyframes tutorialCheck{0%,20%{opacity:0;transform:translateY(10px)}40%,75%{opacity:1;transform:translateY(0)}to{opacity:.9;transform:translateY(0)}}@media (max-width:470px){.app-shell{padding:16px 7px 34px}.game-card{border-radius:21px;padding:13px}.game-heading{gap:8px}.truth-banner{flex-direction:column;align-items:flex-start;gap:2px}.logic-board{grid-template-columns:minmax(68px,.86fr) repeat(3,1fr);gap:5px}.rule-card{border-radius:10px;padding:6px 5px 5px}.rule-card__label{margin-bottom:4px}.rule-card__conditions{gap:4px}.rule-condition span{font-size:6px}.rule-condition strong{margin-left:11px;font-size:8px}.rule-result{width:14px;height:14px;top:3px;right:3px}.tile-cell{border-radius:11px}.tile-mark{width:61%;height:61%}.mode-legend strong,.mode-legend i{font-size:7px}}.difficulty-toggle{border-radius:999px;max-width:440px;padding:3px}.tile-legend{background:#0e1421c7;border:1px solid #6473915c;border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));max-width:520px;margin:14px auto 15px;padding:10px 8px;display:grid}.tile-legend>div{align-content:start;gap:4px;min-width:0;padding:0 9px;display:grid}.tile-legend strong{color:var(--blue-soft);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:5px;margin-bottom:2px;font-size:8px;display:flex}.tile-legend>div:first-child strong{color:var(--teal)}.tile-legend>div:last-child strong{color:var(--amber)}.tile-legend span{color:#aeb7c8;white-space:nowrap;align-items:center;gap:4px;font-size:8px;display:flex}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot--teal{background:var(--teal)}.dot--amber{background:var(--amber)}.dot--coral{background:var(--coral)}.trait-icon{flex:none;justify-content:center;align-items:center;width:11px;height:11px;font-size:9px;display:inline-flex}.trait-icon--color{color:var(--teal)}.trait-icon--shape{color:#8c72ff}.trait-icon--pattern{color:var(--amber)}.board-shell{max-width:330px;margin:0}.status-rail{grid-template-rows:repeat(2,minmax(0,1fr));align-self:stretch;gap:7px;display:grid}.status-rail>div{background:#131a2ad1;border:1px solid #5e6e8c6b;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;min-height:64px;display:flex}.status-rail span{color:#8d78ff;font-size:17px;line-height:1}.status-rail>div:last-child span{color:var(--amber)}.status-rail strong{color:var(--ink);margin-top:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;line-height:1.1}.status-rail small{color:var(--muted);font-size:8px;font-weight:800}.rule-condition span{align-items:center;gap:3px;display:flex}.rule-lock{color:#b9f6d7;font-size:7px;position:absolute;top:4px;right:4px}.tile-grid .tile-cell--locked{background:#19453bb8;border-color:#60e6a6c7;box-shadow:inset 0 0 18px #60e6a614}.tile-grid .tile-cell--locked:after{color:#b9f6d7cc;content:"◆";font-size:6px;position:absolute;top:5px;right:5px}.hint-button{color:var(--ink);cursor:pointer;background:#192032eb;border:1px solid #455370;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;min-height:48px;font-size:11px;font-weight:900;display:flex}.hint-button>span{color:var(--amber);font-size:16px;line-height:.8}.hint-button small{color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:7px;display:block}.hint-button:hover{background:#222c44;border-color:#66789a}.hint-button:disabled{cursor:default;opacity:.42}@media (max-width:470px){.game-heading h1{font-size:20px}.tile-legend{margin:11px 0 12px;padding:8px 4px}.tile-legend>div{padding:0 5px}.tile-legend strong{font-size:7px}.tile-legend span{gap:3px;font-size:6.7px}.play-layout{grid-template-columns:minmax(0,1fr) 49px;gap:7px}.board-shell{--board-gap:4px;--rule-rail:54px;max-width:none}.column-rule-rail{margin-bottom:10px}.board-body{gap:10px}.column-rule-rail .rule-card{min-height:54px;padding:6px 5px}.row-rule-rail .rule-card{padding:6px 5px}.rule-condition span{font-size:6px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:7.5px}.trait-icon{width:8px;height:8px;font-size:7px}.status-rail{gap:5px}.status-rail>div{border-radius:9px;min-height:56px}.status-rail span{font-size:14px}.status-rail strong{font-size:16px}.status-rail small{font-size:6.5px}.game-controls{gap:6px}.control-button,.check-button,.hint-button{min-height:46px;font-size:10px}.check-button{padding:0 10px}.hint-button>span{font-size:14px}}@media (max-width:350px){.logic-board{grid-template-columns:62px repeat(3,1fr);gap:4px}.rule-condition span{font-size:5.5px}.rule-condition strong{font-size:7.5px}.board-corner{font-size:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.brand{gap:9px}.day-stats{color:#aab3c7;letter-spacing:.04em;font-size:10px}.game-card{background:linear-gradient(155deg,#151b2afa,#0c101bfa);padding:24px}.game-card:before{opacity:.45}.game-heading h1{max-width:520px;font-size:clamp(24px,5.5vw,31px);line-height:1.08}.score-row{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 13px}.score-row>div{background:#070a127a;border:1px solid #909db82e;border-radius:12px;justify-content:space-between;align-items:center;min-height:46px;padding:8px 12px}.score-row span{font-size:10px}.score-row strong{font-size:17px}.checks-counter{justify-self:stretch}.board-axis-labels{grid-template-columns:minmax(84px,.82fr) repeat(3,1fr);gap:6px;margin:0 0 6px;display:grid}.board-axis-labels span{color:#8d98ad;letter-spacing:.1em;text-align:center;text-transform:uppercase;font-size:9px;font-weight:900}.board-axis-labels span:first-child{grid-column:1}.board-axis-labels span:last-child{grid-column:2/5}.logic-board{grid-template-columns:minmax(84px,.82fr) repeat(3,1fr);gap:6px}.board-corner{background:0 0;border:0}.rule-card{background:#171e2e;border-color:#354159;border-radius:11px;padding:8px 7px}.rule-card__label{color:#8d98ad;margin-bottom:6px;font-size:8px}.rule-condition{padding-right:10px}.rule-condition span{letter-spacing:0;text-transform:none;font-size:9px}.rule-condition span i{font-size:9px}.rule-condition strong{white-space:normal;margin-left:12px;font-size:10px;line-height:1.13}.rule-condition b{font-size:9px;top:11px}.rule-card--active{box-shadow:0 0 0 2px #6f8cff52}.tile-cell{background:#1b2335;border-color:#354159;border-radius:12px;min-height:44px}.tile-cell:hover{background:#222c42}.logic-board.has-selection .tile-cell:not(.tile-cell--selected){background:#222c42;border-color:#4a5872}.tile-cell--selected{border-color:var(--blue-soft);box-shadow:0 0 0 3px var(--blue)}.selection-order{background:var(--blue);color:#fff;border:2px solid #dbe1ff;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:950;display:flex;position:absolute;top:5px;right:5px}.tile-coordinates{opacity:.55}.game-message p{font-size:12px;line-height:1.4}.game-controls{gap:8px;margin-top:10px}.control-button,.check-button,.share-button,.practice-button,.reveal-button{min-height:48px;font-size:12px}.control-button small{font-size:8px}.check-button{padding:0 15px}.how-it-works{padding:14px 16px;font-size:12px}.how-it-works summary{font-size:12px}.how-it-works p,.tutorial-replay{font-size:11px}.tutorial-modal{max-width:480px;padding:18px}.tutorial-stage{height:auto;margin-top:13px;padding:11px}.tutorial-demo-labels{grid-template-columns:72px repeat(3,1fr);gap:4px;margin-bottom:5px;display:grid}.tutorial-demo-labels span{color:#8995aa;letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:7px;font-weight:900}.tutorial-demo-labels span:first-child{grid-column:1}.tutorial-demo-labels span:last-child{grid-column:2/5}.tutorial-demo-board{grid-template-columns:72px repeat(3,1fr);gap:4px;display:grid}.tutorial-demo-row{display:contents}.tutorial-demo-corner{min-height:54px}.tutorial-demo-rule{background:#171e2e;border:1px solid #354159;border-radius:8px;min-width:0;padding:6px;transition:border-color .18s,box-shadow .18s,opacity .18s;display:grid;position:relative}.tutorial-demo-rule small{color:#8591a7;margin-bottom:4px;font-size:7px;font-weight:900}.tutorial-demo-rule span{color:#aeb7c9;font-size:7px;font-weight:800}.tutorial-demo-rule strong{margin-top:2px;font-size:8px;line-height:1.15}.tutorial-demo-rule b{color:var(--green);background:#60e6a626;border-radius:999px;justify-content:center;align-items:center;width:17px;height:17px;font-size:8px;display:flex;position:absolute;top:4px;right:4px}.tutorial-demo-cell{aspect-ratio:1;background:#1b2335;border:1px solid #3a4760;border-radius:9px;justify-content:center;align-items:center;min-width:0;transition:border-color .18s,box-shadow .18s,opacity .18s;display:flex;position:relative}.tutorial-demo-cell .tile-mark{width:58%;height:58%}.tutorial-demo-cell b{background:var(--blue);color:#fff;z-index:3;border:2px solid #dbe1ff;border-radius:999px;justify-content:center;align-items:center;width:21px;height:21px;font-size:9px;display:flex;position:absolute;top:4px;right:4px}.tutorial-stage--0 .tutorial-demo-cell:not(.is-highlighted),.tutorial-stage--0 .tutorial-demo-rule:not(.is-highlighted),.tutorial-stage--1 .tutorial-demo-cell:not(.is-highlighted),.tutorial-stage--1 .tutorial-demo-rule:not(.is-highlighted){opacity:.26}.tutorial-demo-cell.is-highlighted,.tutorial-demo-rule.is-highlighted{border-color:var(--blue-soft);opacity:1;box-shadow:0 0 0 2px #6f8cff80,0 0 20px #6f8cff2e}.tutorial-stage--2 .tutorial-demo-cell:not(.is-swap-1):not(.is-swap-2),.tutorial-stage--2 .tutorial-demo-rule{opacity:.3}.tutorial-demo-cell.is-swap-1{z-index:2;animation:2.2s cubic-bezier(.2,.8,.2,1) infinite tutorialSwapRight}.tutorial-demo-cell.is-swap-2{z-index:2;animation:2.2s cubic-bezier(.2,.8,.2,1) infinite tutorialSwapLeft}.tutorial-demo-rule.is-solved{background:#1a493de6;border-color:#60e6a6b3;animation:.48s ease-out both tutorialRuleSolved}.tutorial-demo-limits{color:#9aa5b9;justify-content:center;gap:14px;margin-top:9px;font-size:9px;font-weight:850;display:flex}.tutorial-demo-limits span:before{color:var(--blue-soft);content:"•";margin-right:5px}.tutorial-copy{min-height:126px;padding:15px 3px 8px}.tutorial-copy p{font-size:9px}.tutorial-copy h2{font-size:24px}.tutorial-copy>span{font-size:12px}.tutorial-footer{grid-template-columns:auto 1fr auto;display:grid}.tutorial-back{color:var(--blue-soft);cursor:pointer;background:0 0;border:0;min-height:40px;padding:0 4px;font-size:10px;font-weight:850}.tutorial-back:disabled{cursor:default;opacity:.25}.tutorial-dots{justify-self:center}.tutorial-next{min-height:43px;font-size:11px}@keyframes tutorialSwapRight{0%,18%{box-shadow:0 0 0 3px var(--blue);transform:translate(0)}42%,78%{box-shadow:0 0 0 3px var(--blue);transform:translate(calc(100% + 4px))}to{transform:translate(0)}}@keyframes tutorialSwapLeft{0%,18%{box-shadow:0 0 0 3px var(--blue);transform:translate(0)}42%,78%{box-shadow:0 0 0 3px var(--blue);transform:translate(calc(-100% - 4px))}to{transform:translate(0)}}@keyframes tutorialRuleSolved{0%{opacity:.45;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (max-width:470px){.app-shell{padding:14px 10px calc(32px + env(safe-area-inset-bottom))}.game-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.game-card:before{display:none}.game-heading{padding:0 2px}.game-heading h1{font-size:25px}.score-row{margin-top:15px}.score-row>div{padding:7px 10px}.board-axis-labels,.logic-board{grid-template-columns:minmax(78px,.88fr) repeat(3,1fr)}.rule-card{border-radius:9px;padding:7px 6px}.rule-card__label{font-size:8px}.rule-condition span{font-size:9px}.rule-condition strong{font-size:10px}.game-message p{font-size:12px}.tutorial-backdrop{padding:8px}.tutorial-modal{border-radius:20px;padding:13px}.tutorial-stage{padding:8px}.tutorial-demo-labels,.tutorial-demo-board{grid-template-columns:66px repeat(3,1fr)}.tutorial-demo-rule{padding:5px 4px}.tutorial-demo-rule small,.tutorial-demo-rule span{font-size:6.5px}.tutorial-demo-rule strong{font-size:7.5px}.tutorial-copy{min-height:132px}}@media (max-width:350px){.board-axis-labels,.logic-board{grid-template-columns:72px repeat(3,1fr)}.tutorial-demo-labels,.tutorial-demo-board{grid-template-columns:60px repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){.tutorial-demo-cell.is-swap-1,.tutorial-demo-cell.is-swap-2{box-shadow:0 0 0 3px var(--blue);animation:none}}.help-button{color:var(--ink);cursor:pointer;background:#ffffff0a;border:1px solid #3b465d;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:900;display:flex}.help-button:hover{border-color:var(--blue-soft);background:#6f8cff1f}.game-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.game-card:before{display:none}.game-heading h1{letter-spacing:-.035em;font-size:clamp(22px,5vw,27px);line-height:1.08}.eyebrow{margin-bottom:5px}.score-row{background:#111623b8;border:1px solid #30394e;border-radius:11px;justify-content:center;align-items:center;gap:0;height:40px;margin:15px 0 12px;padding:0 12px;display:flex}.score-row>span{color:#9ba6b9;letter-spacing:0;text-transform:none;flex:1;justify-content:center;align-items:baseline;gap:5px;font-size:11px;font-weight:800;display:flex}.score-row>span strong{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}.score-row>i{background:#354057;width:1px;height:18px}.board-shell{--board-gap:6px;--rule-rail:clamp(72px, 20vw, 82px);width:100%;max-width:560px;margin:0 auto}.column-rule-rail{gap:var(--board-gap);margin-left:calc(var(--rule-rail) + var(--board-gap));margin-bottom:var(--board-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.board-body{align-items:stretch;gap:var(--board-gap);grid-template-columns:var(--rule-rail) minmax(0, 1fr);display:grid}.row-rule-rail{gap:var(--board-gap);grid-template-rows:repeat(3,minmax(0,1fr));display:grid}.tile-grid{gap:var(--board-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.column-rule-rail .rule-card{aspect-ratio:1}.row-rule-rail .rule-card{height:100%}.rule-card{box-shadow:none;background:#171e2d;border:1px solid #364158;border-radius:10px;flex-direction:column;justify-content:stretch;min-height:0;padding:7px 6px;display:flex}.rule-card__label{color:#8590a5;letter-spacing:.04em;text-transform:uppercase;flex:none;margin:0 0 3px;font-size:7.5px}.rule-card__conditions{flex:1;align-content:space-evenly;gap:3px;min-height:0;display:grid}.rule-condition{min-width:0;padding:0 10px 0 0}.rule-condition span{color:#9da7ba;letter-spacing:.025em;text-transform:uppercase;font-size:8px;font-weight:850;line-height:1.05;display:block}.rule-condition strong{color:var(--ink);white-space:normal;margin:2px 0 0;font-size:9px;line-height:1.08;display:block}.rule-condition b{font-size:8px;top:8px;right:0}.rule-result{background:0 0;width:16px;height:16px;font-size:9px;top:4px;right:4px}.rule-card--active{border-color:var(--blue-soft);animation:.48s cubic-bezier(.2,.85,.2,1) crossingPulse;box-shadow:0 0 0 2px #6f8cff47}.rule-card--pass{box-shadow:none;background:#171e2d;border-color:#60e6a6d1}.rule-card--fail{box-shadow:none;background:#171e2d;border-color:#ff746dd1}.rule-card--pass .rule-result,.rule-card--fail .rule-result{background:0 0}.tile-grid .tile-cell{aspect-ratio:1;background:#1b2334;border:1px solid #37435a;border-radius:11px;min-height:0}.tile-grid .tile-cell:hover{background:#222b40;border-color:#53617a}.tile-grid.has-selection .tile-cell:not(.tile-cell--selected){background:#202a3f;border-color:#4c5971}.tile-grid .tile-cell--selected{border-color:var(--blue-soft);box-shadow:0 0 0 3px var(--blue)}.tile-coordinates{display:none}.game-message{background:0 0;border:0;border-radius:0;gap:0;min-height:30px;margin:8px 2px 2px;padding:5px 0}.game-message p{color:#a4aec0;font-size:12px;line-height:1.35}.game-message--error,.game-message--good{border:0}.game-message--error p{color:#ffaaa2}.game-message--good p{color:var(--green)}.control-button,.check-button{min-height:48px}.result-panel{background:#131a29;border:1px solid #344057;border-radius:15px;margin-top:12px;padding:16px}.result-panel--lost{background:#131a29;border-color:#4d3c4d}.result-panel .eyebrow{color:var(--green);margin-bottom:9px;font-size:9px}.result-panel--lost .eyebrow{color:#ffaaa2}.result-score{align-items:baseline;gap:8px;display:flex}.result-score strong{letter-spacing:-.05em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:30px}.result-score span{color:var(--muted);font-size:13px;font-weight:800}.result-breakdown{color:var(--ink)!important;margin:5px 0 0!important;font-size:12px!important}.result-usage{color:var(--muted)!important;margin:3px 0 0!important;font-size:11px!important}.community-card{background:#6f8cff12;border:1px solid #6f8cff3d;border-radius:11px;margin:13px 0;padding:11px 12px}.community-card small{color:var(--blue-soft);letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px;font-size:8px;font-weight:900;display:block}.community-card strong{font-size:15px;line-height:1.2;display:block}.community-card p{color:var(--muted)!important;margin:4px 0 0!important;font-size:10px!important;line-height:1.4!important}.solution-note{color:var(--muted)!important;margin:10px 0 0!important;font-size:10px!important}.result-actions{margin-top:13px}@media (max-width:470px){.app-shell{padding:14px 16px calc(28px + env(safe-area-inset-bottom))}.topbar{margin-bottom:15px}.brand{font-size:15px}.game-heading h1{font-size:23px}.board-shell{--rule-rail:clamp(70px, 20vw, 80px)}.rule-card{border-radius:9px;padding:6px 5px}.rule-card__label{font-size:7px}.rule-condition span{font-size:7.5px}.rule-condition strong{font-size:8.5px}.tile-grid .tile-cell{border-radius:10px}}@media (max-width:350px){.app-shell{padding-left:10px;padding-right:10px}.board-shell{--board-gap:4px;--rule-rail:66px}.rule-condition span{font-size:7px}.rule-condition strong{font-size:8px}}.board-shell{--rule-rail:clamp(64px, 17vw, 72px)}.column-rule-rail .rule-card{aspect-ratio:auto;min-height:70px;padding:8px 18px 8px 9px}.rule-card{position:relative}.rule-card__direction{color:#71809e;pointer-events:none;position:absolute}.rule-card__direction svg{width:100%;height:100%;display:block;overflow:visible}.rule-card__direction path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px}.rule-card__direction--column{width:9px;top:7px;bottom:5px;right:4px}.rule-card__direction--row{height:9px;top:3px;left:6px;right:5px}.rule-condition strong{font-size:10px;line-height:1.1}.column-rule-rail .rule-condition strong{font-size:11px}.rule-card--active{animation:.9s cubic-bezier(.2,.8,.2,1) both ruleRefresh}.tile-cell--second{transform:translateY(-2px);box-shadow:0 0 0 3px #a89bffad,0 0 22px #6f8cff47;border-color:#a89bff!important}.selection-order--second{background:#8d7df0}.tile-grid .tile-cell--moving{border-color:var(--blue-soft);pointer-events:none;z-index:5;animation:.6s cubic-bezier(.55,.02,.2,1) forwards tileTrade;box-shadow:0 8px 22px #04070e85,0 0 0 2px #6f8cffb8}.tile-grid .tile-cell--swapped{animation:.42s cubic-bezier(.2,.85,.2,1) tileLand}@keyframes tileTrade{0%{filter:brightness(1.08);transform:translate(0)scale(1)}45%{filter:brightness(1.2);transform:translate(var(--swap-half-x), var(--swap-half-y)) scale(.88)}to{filter:brightness(1.08);transform:translate(var(--swap-x), var(--swap-y)) scale(1)}}@keyframes tileLand{0%{filter:brightness(1.22);transform:scale(.9)}62%{transform:scale(1.055)}to{filter:brightness();transform:scale(1)}}@keyframes ruleRefresh{0%{filter:brightness();opacity:1;border-color:#53617a}28%{filter:brightness(.82);opacity:.28;border-color:#53617a}58%{border-color:var(--blue-soft);filter:brightness(1.12);opacity:.72}to{filter:brightness();opacity:1}}@media (max-width:470px){.board-shell{--rule-rail:clamp(62px, 17vw, 68px)}.column-rule-rail .rule-card{min-height:66px;padding:7px 16px 7px 7px}.row-rule-rail .rule-card{padding:15px 7px 6px 6px}.rule-condition strong{font-size:9.5px}.column-rule-rail .rule-condition strong{font-size:10.5px}}@media (max-width:350px){.board-shell{--rule-rail:58px}.column-rule-rail .rule-card{min-height:62px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:8.5px}}@media (prefers-reduced-motion:reduce){.tile-grid .tile-cell--moving{animation:none}.tile-grid .tile-cell--second{box-shadow:0 0 0 3px #a89bffad}.rule-card--active{border-color:var(--blue-soft);animation:none}}.board-shell{--board-gap:5px;--rule-rail:62px;max-width:330px}.rule-card{background:#1319279e;border:1px solid #5b69856b;border-radius:8px}.rule-condition{padding:0}.rule-condition span{color:#929db2;letter-spacing:.025em;font-size:6.5px;line-height:1}.rule-condition strong,.column-rule-rail .rule-condition strong{margin-top:2px;font-size:8.5px;line-height:1.05}.rule-card--pass{background:#1b5241bd;border-color:#60e6a6c2}.rule-card--fail{background:#451f28b8;border-color:#ff746db8}.rule-condition--pass strong{color:#b9f6d7}.rule-condition--fail strong{color:#ffc0bb}.tile-grid .tile-cell{border-color:#4a5873b8;border-radius:9px}.tile-mark{width:52%;height:52%}.game-message{text-align:center;margin-top:10px}.game-message p{width:100%}@media (max-width:350px){.board-shell{--board-gap:4px;--rule-rail:58px;max-width:310px}.column-rule-rail .rule-card{min-height:55px;padding-right:14px}.row-rule-rail .rule-card{padding-left:5px;padding-right:5px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:8px}}.difficulty-toggle{background:#111623d1;border:1px solid #303a50;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:100%;max-width:310px;margin:0 auto 11px;padding:3px;display:grid}.difficulty-toggle button{color:#8f9aaf;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:34px;padding:0 8px;font-size:11px;font-weight:850}.difficulty-toggle button:hover{color:var(--ink)}.difficulty-toggle button.is-active{color:#fff;background:#283657;box-shadow:0 1px 6px #00000040}.difficulty-toggle button:disabled{cursor:default}.game-heading{text-align:center;justify-content:center}.game-heading h1{max-width:440px;margin:0 auto;font-size:clamp(19px,4.8vw,23px);line-height:1.12}.score-row{margin-top:11px}.ad-slot{background:#0c101a5c;border:1px dashed #68758f47;border-radius:8px;justify-content:center;align-items:center;width:100%;max-width:320px;height:50px;margin:14px auto 0;display:flex}.ad-slot span{color:#5f697d;letter-spacing:.12em;text-transform:uppercase;font-size:7px;font-weight:800}@media (max-width:470px){.difficulty-toggle{max-width:300px;margin-bottom:9px}.difficulty-toggle button{min-height:32px}.game-heading h1{max-width:340px;font-size:19px}.ad-slot{margin-top:12px}}.game-column{max-width:610px}.difficulty-toggle{border-radius:999px;max-width:440px}.difficulty-toggle button{border-radius:999px;min-height:38px}.difficulty-toggle button.is-active{background:linear-gradient(135deg,#6848f4,#4c35d6);box-shadow:0 6px 18px #5b43e552}.play-layout{grid-template-columns:minmax(0,330px) 64px;justify-content:center;align-items:end;gap:9px;display:grid}.board-shell{--board-gap:5px;--rule-rail:62px;max-width:330px;margin:0}.rule-card{overflow:visible}.rule-condition span{align-items:center;gap:3px;font-size:6.5px;display:flex}.rule-card__direction svg{display:none}.rule-card__direction:after{font-size:17px;font-weight:800;line-height:1}.rule-card__direction--column{z-index:2;width:auto;inset:auto auto -18px 50%;transform:translate(-50%)}.rule-card__direction--column:after{content:"↓"}.rule-card__direction--row{z-index:2;width:auto;height:auto;top:50%;left:auto;right:-19px;transform:translateY(-50%)}.rule-card__direction--row:after{content:"→"}.tile-grid .tile-cell--locked{background:#19453bb8;border-color:#60e6a6c7}.game-controls--daily{grid-template-columns:.72fr 1.35fr .72fr}@media (max-width:470px){.difficulty-toggle{max-width:360px}.difficulty-toggle button{min-height:34px}.game-heading h1{font-size:20px}.play-layout{grid-template-columns:minmax(0,1fr) 49px;gap:7px}.board-shell{--board-gap:4px;--rule-rail:54px;max-width:none}.column-rule-rail{margin-bottom:10px}.board-body{gap:10px}.column-rule-rail .rule-card{min-height:54px;padding:5px}.row-rule-rail .rule-card{padding:5px}.rule-condition span{font-size:6px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:7.5px}.game-controls--daily{grid-template-columns:.72fr 1.35fr .72fr}}.difficulty-toggle{margin-bottom:8px}.game-heading h1{font-size:clamp(19px,4vw,23px)}.tile-legend{max-width:540px;height:76px;margin:10px auto 12px;padding:7px 8px}.tile-legend>div{text-align:center;grid-template-rows:auto 20px auto;gap:3px;padding:0 10px}.tile-legend strong{margin:0;font-size:9px;display:block}.legend-symbols,.legend-labels{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:3px!important;display:grid!important}.legend-symbols{place-items:center}.legend-symbols i{color:#f4f6fb;justify-content:center;align-items:center;height:18px;font-size:18px;font-style:normal;display:flex}.legend-symbols .dot{width:15px;height:15px}.legend-symbols--pattern i:nth-child(2){color:#f4f6fb}.legend-labels i{color:#c0c7d5;text-align:center;font-size:7.5px;font-style:normal}.play-layout{grid-template-columns:minmax(0,344px) 55px;gap:8px}.board-shell{--rule-rail:72px;max-width:344px}.column-rule-rail{margin-bottom:11px}.board-body{gap:11px}.column-rule-rail .rule-card{min-height:62px;padding:7px}.row-rule-rail .rule-card{padding:7px}.rule-card{background:#161d2de6;border-color:#6877978f;border-radius:10px}.rule-card__conditions{gap:5px}.rule-condition+.rule-condition{border-top:1px solid #7785a02e;padding-top:4px}.rule-condition span{letter-spacing:.045em;font-size:7.5px}.rule-condition strong,.column-rule-rail .rule-condition strong{white-space:nowrap;margin-top:3px;font-size:10px;line-height:1.08}.status-rail>div{min-height:58px}.game-message{min-height:26px;margin-top:7px;padding:3px 0}.game-message p{font-size:10px}.game-controls{margin-top:3px}.hint-button{line-height:1.05}.hint-button>span{margin-bottom:3px;font-size:12px}.ad-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:80;background:#03050be0;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.rewarded-ad{background:linear-gradient(155deg,#172039,#0c1120);border:1px solid #adbaff57;border-radius:22px;width:100%;max-width:390px;padding:14px;animation:.35s cubic-bezier(.2,.85,.2,1) tutorialIn;overflow:hidden;box-shadow:0 30px 100px #000000a8}.ad-topline{justify-content:space-between;align-items:center;display:flex}.ad-topline span{color:#8995aa;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:900}.ad-topline button{color:#cbd2df;cursor:pointer;background:#ffffff0f;border:1px solid #3d4961;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:17px;display:flex}.ad-creative{background:radial-gradient(circle at 50% 30%,#7658ff57,#0000 42%),linear-gradient(145deg,#1a2542,#0c1326);border:1px solid #6d7ea361;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;height:210px;margin-top:11px;display:flex;position:relative;overflow:hidden}.ad-creative strong{letter-spacing:.09em;margin-top:18px;font-size:21px}.ad-creative>span{color:#b7c1d3;margin-top:5px;font-size:10px}.ad-orbit{width:76px;height:62px;position:relative}.ad-orbit:before{content:"";border:1px solid #b2beff6b;border-radius:50%;position:absolute;inset:5px -8px;transform:rotate(-18deg)}.ad-orbit i{background:var(--teal);border-radius:8px;width:28px;height:28px;animation:1.8s ease-in-out infinite alternate adFloat;position:absolute;top:17px;left:24px;transform:rotate(45deg)}.ad-orbit i:nth-child(2){background:#775cff;width:18px;height:18px;animation-delay:-.6s;top:1px;left:2px}.ad-orbit i:nth-child(3){background:var(--amber);width:16px;height:16px;animation-delay:-1.1s;top:42px;left:58px}.rewarded-ad h2{margin:15px 2px 5px;font-size:20px}.rewarded-ad>p{color:var(--muted);margin:0 2px 13px;font-size:11px;line-height:1.45}.ad-timer{background:#0c1220;border:1px solid #34415a;border-radius:999px;height:38px;position:relative;overflow:hidden}.ad-timer>span{background:linear-gradient(90deg,#6548ed,#886cff);transition:width .4s;position:absolute;top:0;bottom:0;left:0}.ad-timer b{justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}@keyframes adFloat{0%{transform:translateY(-3px)rotate(42deg)}to{transform:translateY(4px)rotate(48deg)}}@media (max-width:470px){.app-shell{padding-top:10px}.topbar{margin-bottom:8px}.difficulty-toggle{margin-bottom:7px}.game-heading h1{font-size:18px}.tile-legend{height:68px;margin:8px 0 10px;padding:6px 3px}.tile-legend>div{grid-template-rows:auto 18px auto;gap:2px;padding:0 4px}.tile-legend strong{font-size:7.5px}.legend-symbols i{height:15px;font-size:15px}.legend-symbols .dot{width:13px;height:13px}.legend-labels i{font-size:6.2px}.play-layout{grid-template-columns:minmax(0,1fr) 45px;gap:6px}.board-shell{--board-gap:4px;--rule-rail:69px}.column-rule-rail{margin-bottom:10px}.board-body{gap:10px}.column-rule-rail .rule-card{min-height:60px;padding:6px}.row-rule-rail .rule-card{padding:6px}.rule-condition span{font-size:7px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:8.5px}.trait-icon{width:9px;height:9px;font-size:7px}.status-rail strong{font-size:15px}.status-rail small{font-size:6px}.game-message{margin-top:5px}.game-message p{font-size:9px}.control-button,.check-button,.hint-button{min-height:44px;font-size:9px}.hint-button small,.control-button small{font-size:6px}.rewarded-ad{border-radius:19px;padding:12px}.ad-creative{height:190px}}.rule-condition--color span{color:var(--teal)}.rule-condition--shape span{color:#9a83ff}.rule-condition--fill span{color:var(--amber)}.rule-lock{color:#c7f8df;letter-spacing:.04em;text-transform:uppercase;background:#60e6a629;border:1px solid #60e6a67a;border-radius:999px;padding:2px 4px;font-size:5.5px;font-weight:900;top:4px;right:4px}.status-rail{background:0 0;gap:0}.status-rail>div{background:0 0;border:0;border-radius:0;min-height:0}.status-rail>div+div{border-top:1px solid #68779747}@media (max-width:470px){.app-shell{padding-left:8px;padding-right:8px}.play-layout{grid-template-columns:minmax(0,1fr) 42px;gap:6px}.board-shell{--rule-rail:76px;max-width:344px}.column-rule-rail .rule-card{min-height:68px}.rule-condition span{font-size:8.5px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:10.5px;line-height:1.08}.rule-card__direction:after{font-size:14px}.status-rail span{font-size:13px}.status-rail strong{font-size:18px}.status-rail small{font-size:7px}}@media (max-width:360px){.board-shell{--rule-rail:70px}.rule-condition span{font-size:8px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:9.5px}}.site-footer{color:#717d92;text-align:center;max-width:480px;margin:18px auto 0;padding:12px 4px 4px}.site-footer>span{letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px;font-size:7px;font-weight:800;display:block}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:7px 14px;display:flex}.site-footer a{color:#919db2;font-size:8px;text-decoration:none}.site-footer a:hover{color:#dce2ef}.legal-shell{color:#eef1f7;min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 16px max(36px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% -10%,#6f8cff24,#0000 42%),#080c16;justify-content:center;align-items:flex-start;display:flex}.legal-card{--legal-card-padding:clamp(24px, 6vw, 48px);max-width:700px;padding:var(--legal-card-padding);background:#101727eb;border:1px solid #303a50;border-radius:18px;width:100%;box-shadow:0 22px 70px #00000047}.legal-brand{color:#f3f5fa;letter-spacing:.11em;font-size:12px;font-weight:950;text-decoration:none;display:inline-block}.info-topbar{margin:calc(-1 * var(--legal-card-padding)) calc(-1 * var(--legal-card-padding)) 30px;padding:16px var(--legal-card-padding);z-index:25;background:#101727f5;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.info-topbar__actions{align-items:center;gap:8px;display:flex}.info-play-link{color:#dfe5ff;border:1px solid #5065c5;border-radius:999px;align-items:center;min-height:34px;padding:0 14px;font-size:12px;font-weight:850;text-decoration:none;display:inline-flex}:is(.info-play-link:hover,.info-play-link:focus-visible){color:#fff;background:#6f8cff26}.legal-eyebrow{color:#8f9dff;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:9px;font-weight:900}.legal-card h1{letter-spacing:-.045em;margin:0 0 28px;font-size:clamp(30px,7vw,48px);line-height:1}.legal-copy{color:#b4becf;font-size:15px;line-height:1.7}.legal-copy h2{color:#eef1f7;margin:26px 0 5px;font-size:18px}.legal-copy p{margin:0 0 16px}.legal-copy strong{color:#eef1f7}.legal-copy ul,.legal-copy ol{margin:0 0 18px;padding-left:22px}.legal-copy li{margin:0 0 8px}.guide-table-wrap{margin:16px 0 24px;overflow-x:auto}.guide-table{border-collapse:collapse;width:100%;min-width:560px}.guide-table th,.guide-table td{text-align:left;vertical-align:top;border-bottom:1px solid #303a50;padding:12px}.guide-table thead th{color:#eef1f7;font-size:13px}.guide-table tbody th{color:#b8c2ff;white-space:nowrap;font-size:14px}.learning-links{border-top:1px solid #303a50;margin-top:34px;padding-top:4px}.learning-links>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.learning-links a{color:inherit;background:#121b2e;border:1px solid #303a50;border-radius:12px;padding:14px;text-decoration:none;display:block}.learning-links a:hover{border-color:#6170c7}.learning-links strong,.learning-links span{display:block}.learning-links span{margin-top:4px;font-size:14px;line-height:1.45}.legal-back{color:#9eacff;border-top:1px solid #303a50;margin-top:32px;padding-top:20px;font-size:12px;font-weight:800;text-decoration:none;display:block}@media (max-width:560px){.learning-links>div{grid-template-columns:1fr}}.score-row{max-width:360px;height:38px;margin:8px auto}.score-row>span{font-size:10px}.score-row>span strong{font-size:16px}.tile-legend{background:0 0;border:0;gap:7px;height:70px;padding:0}.tile-legend>div{background:#101726e6;border:1px solid #6473916b;border-radius:10px;padding:6px 8px}.tile-legend>div+div{border-left:1px solid #6473916b}.play-layout{display:block}.board-shell{--rule-rail:82px;max-width:390px;margin:0 auto}.column-rule-rail .rule-card{min-height:68px}.rule-condition span{font-size:8.5px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:11px}.rule-card--pass{background:linear-gradient(145deg,#1f654ef5,#16453bf5);border-color:#62e5a8;box-shadow:0 0 0 1px #60e6a63d,inset 0 0 20px #60e6a614}.rule-card--fail{background:linear-gradient(145deg,#6a2b34f5,#461e2af5);border-color:#ff756e;box-shadow:0 0 0 1px #ff746d38,inset 0 0 20px #ff746d0f}.rule-card--pass .rule-condition strong{color:#d6ffeb}.rule-card--fail .rule-condition strong{color:#ffe0dd}.rule-card--pass .rule-condition span,.rule-card--fail .rule-condition span{color:#ffffffc7}.rule-card--locked{background:linear-gradient(145deg,#1f654ef5,#16453bf5);border-color:#62e5a8}.tutorial-traits{align-items:center;height:100%;padding:18px;display:flex}.tutorial-traits .tile-legend{width:100%;margin:0}@media (max-width:470px){.score-row{max-width:330px;height:36px;margin:7px auto}.tile-legend{gap:5px;height:66px;margin:8px 0 10px}.tile-legend>div{padding:5px 4px}.tile-legend strong{font-size:7.5px}.legend-labels i{font-size:6.5px}.board-shell{--rule-rail:80px;max-width:390px}.column-rule-rail .rule-card{min-height:70px}.rule-condition span{font-size:8.5px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:11px}.tutorial-traits{padding:10px 4px}}@media (max-width:360px){.board-shell{--rule-rail:74px}.rule-condition span{font-size:8px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:10px}}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ad-slot{display:none!important}.topbar{margin-bottom:8px}.difficulty-toggle{max-width:390px;margin-bottom:7px}.difficulty-toggle button{min-height:34px}.game-mode-row{grid-template-columns:.88fr 1.12fr;align-items:stretch;gap:7px;max-width:480px;margin:0 auto 7px;display:grid}.mode-switch{background:#0c111dc7;border:1px solid #303a50;border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:3px;padding:3px;display:grid}.mode-switch button{color:#8f9aaf;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:38px;padding:0 6px;font-size:9px;font-weight:850}.mode-switch button.is-active{color:#e8ecff;background:#6f8cff2e;box-shadow:inset 0 0 0 1px #9cadff52}.mode-switch button:disabled{cursor:default}.puzzle-identity{background:linear-gradient(135deg,#1b2337eb,#121827eb);border:1px solid #354058;border-radius:11px;justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:6px 10px;display:flex}.puzzle-identity div{gap:1px;min-width:0;display:grid}.puzzle-identity small{color:#8f9aaf;letter-spacing:.08em;text-transform:uppercase;font-size:6.5px;font-weight:900}.puzzle-identity strong{letter-spacing:.025em;white-space:nowrap;font-size:10px}.puzzle-identity>span{color:var(--amber);text-align:right;white-space:nowrap;font-size:8px;font-weight:850}.mastery-bar{background:#0c111dbd;border:1px solid #303a50;border-radius:11px;justify-content:center;align-items:center;max-width:430px;height:36px;margin:0 auto 8px;padding:0 10px;display:flex}.mastery-bar span{color:#f1f3fa;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:850}.mastery-bar span b{color:#8f9aaf;letter-spacing:.07em;text-transform:uppercase;margin-right:3px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:7px}.mastery-bar>i{background:#354057;width:1px;height:15px;margin:0 11px}.mastery-bar em{color:var(--green);text-transform:uppercase;background:#60e6a621;border:1px solid #60e6a652;border-radius:999px;margin-left:9px;padding:3px 5px;font-size:6.5px;font-style:normal;font-weight:900}.tile-legend{margin:0 auto 10px}.tile-legend--compact{height:58px;margin-bottom:8px;transition:height .22s,margin .22s}.tile-legend--compact>div{grid-template-rows:auto 16px auto;gap:1px;padding-top:3px;padding-bottom:3px}.tile-legend--compact strong{font-size:7px}.tile-legend--compact .legend-symbols i{height:13px;font-size:13px}.tile-legend--compact .legend-symbols .dot{width:11px;height:11px}.tile-legend--compact .legend-labels i{font-size:5.8px}.rule-card--active.rule-card--pass{animation:.76s cubic-bezier(.2,.85,.2,1) ruleCheckPass}.rule-card--active.rule-card--fail{animation:.76s cubic-bezier(.2,.85,.2,1) ruleCheckFail}.rule-card--soft{border-color:#60e6a6a3;animation:.76s ease-out softClueMatch;box-shadow:0 0 14px #60e6a61f}.rule-soft-mark{color:var(--green);background:#60e6a629;border:1px solid #60e6a661;border-radius:999px;justify-content:center;align-items:center;width:15px;height:15px;font-size:7px;font-weight:950;animation:.85s ease-out both softMark;display:flex;position:absolute;top:4px;right:4px}.tile-grid .tile-cell--selected{box-shadow:0 8px 22px #04070e8c, 0 0 0 3px var(--blue), 0 0 24px #6f8cff47;z-index:3;transform:translateY(-3px)scale(1.025)}.tile-grid .tile-cell--second{transform:translateY(-2px)scale(1.015)}.tile-grid .tile-cell--moving{animation-duration:var(--swap-duration,.65s)}.tile-grid .tile-cell--swapped{animation-duration:.34s}.tile-cell--row-pass{border-top-color:#60e6a6eb!important;border-bottom-color:#60e6a6eb!important}.tile-cell--row-fail{border-top-color:#ff746de6!important;border-bottom-color:#ff746de6!important}.tile-cell--column-pass{border-left-color:#60e6a6eb!important;border-right-color:#60e6a6eb!important}.tile-cell--column-fail{border-left-color:#ff746de6!important;border-right-color:#ff746de6!important}.tile-cell--row-pass,.tile-cell--column-pass{animation:.76s ease-out tileCheckPass}.tile-cell--row-fail,.tile-cell--column-fail{animation:.76s ease-out tileCheckFail}.board-shell--celebrating .rule-card--pass{animation:.46s cubic-bezier(.2,.85,.2,1) both clueSequence}.board-shell--celebrating .column-rule-rail .rule-card:first-child{animation-delay:0s}.board-shell--celebrating .column-rule-rail .rule-card:nth-child(2){animation-delay:90ms}.board-shell--celebrating .column-rule-rail .rule-card:nth-child(3){animation-delay:.18s}.board-shell--celebrating .row-rule-rail .rule-card:first-child{animation-delay:.27s}.board-shell--celebrating .row-rule-rail .rule-card:nth-child(2){animation-delay:.36s}.board-shell--celebrating .row-rule-rail .rule-card:nth-child(3){animation-delay:.45s}.board-shell--celebrating .tile-cell{animation:.5s cubic-bezier(.2,.85,.2,1) both successSnap}.board-shell--celebrating .tile-cell:nth-child(2),.board-shell--celebrating .tile-cell:nth-child(4){animation-delay:70ms}.board-shell--celebrating .tile-cell:nth-child(3),.board-shell--celebrating .tile-cell:nth-child(5),.board-shell--celebrating .tile-cell:nth-child(7){animation-delay:.14s}.board-shell--celebrating .tile-cell:nth-child(6),.board-shell--celebrating .tile-cell:nth-child(8){animation-delay:.21s}.board-shell--celebrating .tile-cell:nth-child(9){animation-delay:.28s}.board-shell--celebrating .tile-grid{isolation:isolate;position:relative;overflow:hidden}.board-shell--celebrating .tile-grid:after{content:"";pointer-events:none;z-index:8;background:radial-gradient(circle,#60e6a63d 0 8%,#60e6a614 9% 20%,#0000 21%);border-radius:50%;width:42px;height:42px;animation:.9s ease-out .22s both gridSuccessRipple;position:absolute;top:50%;left:50%}.solve-celebration{background:radial-gradient(circle at 50% 100%,#60e6a624,#0000 62%),#0e1620d6;border:1px solid #60e6a66b;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:100px;margin-top:8px;padding:12px;animation:.4s cubic-bezier(.2,.85,.2,1) both celebrationIn;display:flex;position:relative;overflow:hidden}.solve-celebration p{color:var(--green);letter-spacing:.11em;text-transform:uppercase;margin:0 0 3px;font-size:7px;font-weight:900}.solve-celebration>strong{letter-spacing:-.035em;font-size:22px}.solve-ripple{pointer-events:none;border:1px solid #60e6a659;border-radius:50%;width:36px;height:36px;animation:1.1s ease-out infinite solveRipple;position:absolute;top:50%;left:50%}.mastery-stars{gap:4px;margin-top:5px;display:flex}.mastery-stars span{color:#394258;filter:none;font-size:16px}.mastery-stars span.is-earned{color:var(--amber);filter:drop-shadow(0 0 7px #ffc85752)}.result-panel--mastery{text-align:center;background:radial-gradient(circle at 50% 0,#60e6a621,#0000 52%),#131a29;border-color:#60e6a67a;padding:18px}.result-panel--mastery h2{margin:0;font-size:28px}.result-panel--mastery .eyebrow{margin-bottom:4px}.mastery-stars--large{justify-content:center;margin:3px 0 7px}.mastery-stars--large span{font-size:26px}.result-panel .result-solve-line{color:#b6c0d2;margin:0 0 4px;font-size:11px}.result-panel .result-streak{color:var(--amber);margin:0;font-size:11px;font-weight:850}.result-panel .assist-note{color:#7f8a9f;margin:5px 0 0;font-size:8px}.result-actions--primary{grid-template-columns:1.3fr .9fr;margin-top:13px}.result-actions--primary .practice-button{color:#fff;background:linear-gradient(135deg,#6f8cff,#5540dc);border:0}.result-actions--primary .share-button{background:#ffffff0e;border:1px solid #465571}.result-secondary-actions{justify-content:center;gap:18px;margin-top:10px;display:flex}.result-secondary-actions button{color:#aeb8ca;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:3px;font-size:8px;font-weight:800;-webkit-text-decoration:underline #53617b;text-decoration:underline #53617b}.tutorial-par-line{background:#0c111de0;border:1px solid #303b53;border-radius:8px;justify-content:center;align-items:center;height:28px;margin-bottom:7px;display:flex}.tutorial-par-line span{color:#aab4c7;padding:0 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:850}.tutorial-par-line span+span{border-left:1px solid #354057}.tutorial-par-line.is-highlighted{border-color:#ffc857b8;animation:1.35s ease-in-out infinite alternate parPulse;box-shadow:0 0 18px #ffc8571a}.tutorial-stage--2 .tutorial-demo-rule,.tutorial-stage--3 .tutorial-demo-rule{opacity:1}.tutorial-stage--3 .tutorial-demo-cell,.tutorial-stage--3 .tutorial-demo-rule{opacity:.82}.tutorial-stage--1 .tutorial-demo-cell{opacity:.58}.tutorial-stage--1 .tutorial-demo-cell.is-swap-1,.tutorial-stage--1 .tutorial-demo-cell.is-swap-2{filter:brightness(1.16);opacity:1}.tutorial-stage--1 .tutorial-demo-rule{opacity:.72}.tutorial-check-line,.tutorial-mode-line{border-radius:8px;justify-content:center;align-items:center;height:30px;margin-bottom:7px;display:flex}.tutorial-check-line{color:#fff;background:linear-gradient(135deg,#6f8cff,#5540dc);gap:14px;box-shadow:0 6px 18px #5540dc3d}.tutorial-check-line strong{font-size:9px}.tutorial-check-line span{text-transform:uppercase;border-left:1px solid #ffffff4d;padding-left:14px;font-size:7px;font-weight:850}.tutorial-mode-line{background:#0c111de6;border:1px solid #6f8cff9e;overflow:hidden;box-shadow:0 0 18px #6f8cff1f}.tutorial-mode-line span{color:#aeb8ca;text-align:center;flex:1;font-size:7px;font-weight:750}.tutorial-mode-line span+span{border-left:1px solid #354057}.tutorial-mode-line b{color:#fff;margin-bottom:1px;font-size:8px;display:block}.tutorial-stage--2 .tutorial-demo-cell{opacity:.72!important}.tutorial-stage--2 .tutorial-demo-rule{opacity:1!important}.tutorial-stage--4 .tutorial-demo-labels,.tutorial-stage--4 .tutorial-demo-board{filter:saturate(.7);opacity:.34}.tutorial-stage--4 .tutorial-demo-rule{background:#171e2e;border-color:#354159}.tutorial-copy{min-height:140px}@keyframes ruleCheckPass{0%{filter:brightness();transform:scale(.97)}45%{filter:brightness(1.22);transform:scale(1.035);box-shadow:0 0 24px #60e6a661}to{filter:brightness();transform:scale(1)}}@keyframes ruleCheckFail{0%{filter:brightness();transform:scale(.97)}45%{filter:brightness(1.18);transform:scale(1.025);box-shadow:0 0 22px #ff746d52}to{filter:brightness();transform:scale(1)}}@keyframes softClueMatch{0%{filter:brightness()}35%{filter:brightness(1.18)}to{filter:brightness()}}@keyframes softMark{0%{opacity:0;transform:scale(.55)}30%{opacity:1;transform:scale(1.1)}75%{opacity:.8}to{opacity:0;transform:scale(.9)}}@keyframes tileCheckPass{0%{box-shadow:inset 0 0 #60e6a600}45%{box-shadow:inset 0 0 18px #60e6a629}to{box-shadow:inset 0 0 #60e6a600}}@keyframes tileCheckFail{0%{box-shadow:inset 0 0 #ff746d00}45%{box-shadow:inset 0 0 18px #ff746d21}to{box-shadow:inset 0 0 #ff746d00}}@keyframes clueSequence{0%{filter:brightness(.92);opacity:.78;transform:scale(.96)}60%{filter:brightness(1.24);transform:scale(1.035);box-shadow:0 0 22px #60e6a65c}to{filter:brightness();opacity:1;transform:scale(1)}}@keyframes successSnap{0%{filter:brightness();transform:scale(.94)}55%{filter:brightness(1.22);transform:scale(1.035)}to{filter:brightness();transform:scale(1)}}@keyframes celebrationIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes solveRipple{0%{opacity:.8;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(8)}}@keyframes gridSuccessRipple{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(9)}}@keyframes parPulse{0%{filter:brightness()}to{filter:brightness(1.18)}}@media (max-width:470px){.app-shell{padding:max(10px, env(safe-area-inset-top)) 8px calc(22px + env(safe-area-inset-bottom));overflow-x:hidden}.game-column{max-width:420px}.brand{font-size:15px}.difficulty-toggle{max-width:360px}.game-mode-row{grid-template-columns:.92fr 1.08fr}.mode-switch button{min-height:40px;font-size:8px}.puzzle-identity{min-height:46px;padding:5px 8px}.puzzle-identity strong{font-size:9px}.puzzle-identity>span{font-size:7px}.mastery-bar{height:34px;margin-bottom:7px}.mastery-bar>i{margin:0 8px}.mastery-bar span{font-size:9px}.mastery-bar em{display:none}.tile-legend{height:62px;margin-bottom:8px}.tile-legend--compact{height:54px;margin-bottom:7px}.tile-legend--compact>div{grid-template-rows:auto 14px auto}.board-shell{--board-gap:4px;--rule-rail:clamp(76px, 21vw, 82px);max-width:400px}.column-rule-rail{margin-bottom:9px}.board-body{gap:9px}.column-rule-rail .rule-card{min-height:68px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:10.5px}.game-message{min-height:24px;padding:2px 0}.game-controls--daily{grid-template-columns:.7fr 1.4fr .78fr;gap:5px}.control-button,.check-button,.hint-button{min-height:45px}.check-button{padding:0 9px}.result-panel--mastery{padding:16px 12px}.tutorial-backdrop{padding:max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));align-items:center}.tutorial-modal{max-height:calc(100dvh - 20px);overflow-y:auto}.tutorial-par-line{margin-bottom:6px}}@media (max-width:360px){.game-mode-row{grid-template-columns:1fr}.mode-switch,.puzzle-identity{min-height:38px}.mode-switch button{min-height:32px}.puzzle-identity{display:none}.mastery-bar>i{margin:0 6px}.mastery-bar span b{font-size:6px}.board-shell{--rule-rail:72px}.rule-condition strong,.column-rule-rail .rule-condition strong{font-size:9.5px}}:is(a,button,summary,input,[tabindex]):focus-visible{outline-offset:3px;outline:3px solid #ffc857}.skip-link{z-index:100;color:#fff;background:#111522;padding:1rem;position:fixed;top:-10rem;left:1rem}.skip-link:focus{top:1rem}.topbar-actions{align-items:center;gap:8px;display:flex}.accessibility-button{color:var(--blue-soft);cursor:pointer;background:#6f8cff1a;border:1px solid #6f8cff61;border-radius:999px;min-height:34px;padding:6px 10px;font-size:10px;font-weight:850}.accessibility-button[aria-pressed=true]{background:var(--blue);color:#fff}.board-instructions,.clue-descriptions,.condition-status{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.accessible-mode .accessibility-settings,.accessible-mode .clue-descriptions{background:var(--panel);border:1px solid #9da6ba;border-radius:12px;margin-bottom:1rem;padding:.5rem .75rem;font-size:1rem;line-height:1.6}.accessibility-settings summary,.clue-descriptions summary{cursor:pointer;min-height:44px;padding:.5rem 0}.accessibility-settings label{align-items:center;gap:.75rem;min-height:48px;display:flex}.accessibility-settings input{accent-color:#6f8cff;flex-shrink:0;width:24px;height:24px}.accessibility-settings a{color:#bac6ff;text-decoration:underline}.accessibility-settings p{margin:.75rem 0}.accessible-mode .board-instructions,.accessible-mode .clue-descriptions{clip:auto;clip-path:none;white-space:normal;width:auto;height:auto;position:static;overflow:visible}.accessible-mode .board-instructions{margin:.75rem 0;font-size:1rem;line-height:1.5}.accessible-mode button,.accessible-mode .site-footer a{min-height:44px}.accessible-mode .help-button{min-width:44px}.accessible-mode :is(.game-controls button,.mode-switch button,.difficulty-toggle button,.result-actions button,.result-secondary-actions button),.accessible-mode :is(.game-controls small,.game-controls span,.puzzle-identity small,.puzzle-identity strong,.puzzle-identity>span,.mastery-bar span,.mastery-bar span b){font-size:.875rem}.accessible-mode .mastery-bar{flex-wrap:wrap;gap:.25rem;height:auto;min-height:44px;padding:.5rem}.accessible-mode :is(.game-message p,.result-panel p,.site-footer,.site-footer a){font-size:.875rem;line-height:1.6}.accessible-mode .site-footer a{align-items:center;padding:.25rem;display:inline-flex}.accessible-mode :is(.tile-legend,.tile-legend--compact){height:auto;min-height:80px}.accessible-mode :is(.tile-legend strong,.tile-legend i){font-size:.875rem}.accessible-mode :is(.rule-condition strong,.column-rule-rail .rule-condition strong){white-space:normal;overflow-wrap:anywhere;font-size:.875rem}.accessible-mode .rule-condition span{white-space:normal;font-size:.75rem}.accessible-mode .condition-status{clip:auto;clip-path:none;color:var(--ink);white-space:normal;width:auto;height:auto;font-size:.75rem;font-style:normal;line-height:1.4;display:block;position:static;overflow:visible}.tile-colour-name{display:none}.accessible-mode .tile-colour-name{color:#fff;font-size:.75rem;line-height:1.3;display:block;position:absolute;bottom:2px}.tile-text-description{display:none}.tile-cell[aria-disabled=true]{cursor:default}.accessible-mode .tile-cell{min-width:44px;min-height:44px}.accessible-mode .tile-cell--locked:after{content:"Locked";color:#fff;font-size:.75rem;position:absolute;top:2px}.text-board .column-rule-rail,.text-board .row-rule-rail{display:none}.text-board .tile-cell{aspect-ratio:auto;text-align:left;justify-content:flex-start;min-height:80px;padding:.75rem}.text-board .tile-mark{flex-shrink:0;width:48px;height:48px;margin-right:1rem}.text-board .tile-text-description{font-size:1rem;line-height:1.5;display:block}.text-board .tile-colour-name,.text-board .tile-cell--locked:after{display:none}.high-contrast{--bg:#000;--panel:#000;--ink:#fff;--muted:#fff;background:#000}.high-contrast :is(.game-card,.tile-cell,.rule-card,.tutorial-modal,.game-message,.mode-switch,.puzzle-identity){color:#fff;background:#000;border:2px solid #fff}.high-contrast :is(p,small,strong,label,summary,.rule-condition span){color:#fff}.high-contrast button[aria-pressed=true]{outline-offset:-4px;outline:3px solid #ffc857}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reduced-motion .tile-cell{transform:none!important}dialog.tutorial-modal{color:var(--ink);width:min(480px,100% - 2rem);max-height:calc(100dvh - 2rem);margin:auto;overflow-y:auto}dialog.tutorial-modal::backdrop{background:#05070de6}.accessible-mode .tutorial-copy h2{font-size:1.5rem;line-height:1.3}.accessible-mode :is(.tutorial-copy span,.tutorial-copy p,.tutorial-modal button){font-size:1rem;line-height:1.5}.accessible-mode .tutorial-footer{flex-wrap:wrap;gap:.5rem}.accessible-mode .tutorial-dots{flex-wrap:wrap}.accessible-mode .tutorial-dots button{min-width:44px;min-height:44px}@media (max-width:470px){.accessibility-button{padding-inline:8px;font-size:9px}.accessible-mode .game-card{padding:12px;overflow:visible}.accessible-mode .game-controls--daily,.accessible-mode .game-mode-row{grid-template-columns:1fr}.accessible-mode .puzzle-identity{flex-wrap:wrap;display:flex}.accessible-mode .board-shell{--rule-rail:80px}.accessible-mode :is(.rule-condition strong,.column-rule-rail .rule-condition strong){font-size:.875rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.accessible-play-link{color:#fff;background:linear-gradient(135deg,#6f8cff,#5540dc);border-radius:12px;align-items:center;min-height:48px;padding:10px 16px;font-size:1rem;font-weight:850;text-decoration:none;display:inline-flex}@media (forced-colors:active){.tile-cell,.rule-card,button{border:2px solid buttontext}.tile-cell[aria-pressed=true]{outline-offset:-4px;outline:3px solid highlight}.tile-colour-name{color:buttontext}}.game-workspace,.game-sidebar,.game-stage{min-width:0}.site-menu{z-index:30;position:relative}.site-menu>summary{color:var(--ink);cursor:pointer;background:#ffffff0a;border:1px solid #3b465d;border-radius:999px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 9px;list-style:none;display:flex}.site-menu>summary::-webkit-details-marker{display:none}.site-menu>summary::marker{content:""}.site-menu[open]>summary{border-color:var(--blue-soft);background:#6f8cff29}.menu-icon{gap:3px;width:15px;display:grid}.menu-icon i{background:currentColor;border-radius:2px;width:15px;height:2px;display:block}.menu-label{margin-left:7px;font-size:10px;font-weight:850;display:none}.site-menu nav{background:#121827;border:1px solid #3b465d;border-radius:14px;min-width:220px;padding:7px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 18px 54px #00000085}.site-menu__group{padding:3px;display:grid}.site-menu__group+.site-menu__group{border-top:1px solid #303a50;margin-top:4px;padding-top:7px}.site-menu__heading{color:#8390a8;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px 3px;font-size:10px;font-weight:900}.site-menu nav a{color:#dce2ef;border-radius:8px;align-items:center;min-height:40px;padding:7px 10px;font-size:12px;font-weight:750;text-decoration:none;display:flex}:is(.site-menu nav a:hover,.site-menu nav a:focus-visible){color:#fff;background:#6f8cff26}.site-menu__legal{border-top:1px solid #303a50;gap:4px;margin-top:4px;padding:7px 3px 3px;display:flex}.site-menu__legal a{color:#aab4c7;flex:1;justify-content:center;min-height:34px;font-size:11px}.rule-card,.rule-card__conditions,.rule-condition{min-width:0}.rule-condition strong,.column-rule-rail .rule-condition strong{overflow-wrap:normal;white-space:normal;word-break:normal;max-width:100%}.accessible-mode .condition-status{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.accessible-mode :is(.column-rule-rail .rule-card,.row-rule-rail .rule-card){overflow:hidden}.accessible-mode:not(.text-board) :is(.rule-condition strong,.column-rule-rail .rule-condition strong){font-size:11px;line-height:1.08}.accessible-mode:not(.text-board) .rule-condition span{font-size:8.5px;line-height:1.05}@media (min-width:760px){.app-shell{padding-inline:clamp(20px,4vw,64px)}.game-column{max-width:1120px}.topbar{margin-bottom:18px}.menu-label{display:inline}.game-workspace{grid-template-columns:minmax(240px,300px) minmax(0,650px);justify-content:start;align-items:start;gap:clamp(22px,3vw,42px);display:grid}.game-sidebar{background:#0e131f94;border:1px solid #64739140;border-radius:18px;padding:16px}.game-sidebar .difficulty-toggle{max-width:none}.game-sidebar .game-mode-row{grid-template-columns:1fr;max-width:none}.game-sidebar .puzzle-identity{min-height:52px}.game-sidebar .mastery-bar{margin-top:10px}.game-sidebar .tile-legend{grid-template-columns:1fr;height:auto;margin:10px 0 0}.game-sidebar .tile-legend>div{text-align:left;grid-template-rows:22px 16px;grid-template-columns:72px minmax(0,1fr);align-items:center;min-height:54px;padding:7px 9px;display:grid}.game-sidebar .tile-legend>div+div{border-left:1px solid #6473916b}.game-sidebar .tile-legend strong{grid-row:1/3}.game-sidebar .tile-legend .legend-symbols,.game-sidebar .tile-legend .legend-labels{grid-column:2}.game-sidebar .tile-legend .legend-labels i{font-size:7px}.game-stage{width:100%;max-width:650px}.game-stage .board-shell{--rule-rail:clamp(86px, 9vw, 104px);max-width:590px;margin-left:0}.game-stage .column-rule-rail .rule-card{min-height:82px}.game-stage .rule-condition strong,.game-stage .column-rule-rail .rule-condition strong{font-size:12px}.game-stage .rule-condition span{font-size:9px}.game-stage .game-controls,.game-stage .game-message,.game-stage .result-panel,.game-stage .solve-celebration{max-width:590px}.accessible-mode .accessibility-settings{margin:14px 0 0;padding:10px 12px;font-size:14px;line-height:1.5}.accessible-mode .accessibility-settings label{font-size:13px}.accessible-mode .accessibility-settings p{font-size:12px}.text-board .game-stage .board-shell{max-width:590px}}@media (max-width:759px){.game-workspace{display:block}.game-sidebar{display:contents}.game-stage{min-width:0}}@media (max-width:470px){.topbar-actions{gap:6px}.site-menu>summary{width:34px;padding:0}.site-menu nav{max-height:min(70vh,480px);right:-2px;overflow-y:auto}.board-shell{--rule-rail:clamp(82px, 23vw, 88px)}.row-rule-rail .rule-card{padding-inline:6px}.row-rule-rail .rule-condition{padding-right:0}.row-rule-rail .rule-condition strong{font-size:10px;line-height:1.12}.accessible-mode .game-card{padding:0}.accessible-mode:not(.text-board) .board-shell{--rule-rail:clamp(82px, 23vw, 88px)}.accessible-mode:not(.text-board) :is(.rule-condition strong,.column-rule-rail .rule-condition strong){font-size:10px}.accessible-mode:not(.text-board) .rule-condition span{font-size:8px}.accessible-mode .accessibility-settings{margin:8px 0 12px}}@media (max-width:360px){.brand{gap:7px}.accessibility-button{max-width:88px}.board-shell,.accessible-mode:not(.text-board) .board-shell{--rule-rail:78px}.row-rule-rail .rule-condition strong,.accessible-mode:not(.text-board) .row-rule-rail .rule-condition strong{font-size:9.5px}}.rule-card,.accessible-mode :is(.column-rule-rail .rule-card,.row-rule-rail .rule-card){overflow:visible}.rule-card__conditions,.rule-condition{overflow:hidden}.rule-card__direction{color:#aab5ca;opacity:1}.rule-card__direction:after{filter:drop-shadow(0 1px 2px #05070d);font-size:26px;font-weight:950}.rule-card__direction--row{right:-21px}.rule-card__direction--column{bottom:-22px}.accessible-mode .rule-card__direction{color:#e7ebf5}.high-contrast .rule-card__direction{color:#fff}.accessible-mode .clue-descriptions h2{margin:0 0 4px;font-size:1rem;line-height:1.35}.accessible-mode .clue-descriptions ul{margin:0;padding:0;list-style:none}.accessible-mode .clue-descriptions li{border-top:1px solid #9da6ba47;padding:8px 0;font-size:.875rem;line-height:1.45}.text-board .board-shell{max-width:590px}.text-board .board-body{display:block}.text-board .tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.text-board .tile-cell{aspect-ratio:auto;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:132px;padding:10px 7px}.text-board .tile-mark{flex:none;width:38px;height:38px;margin:0 0 8px}.text-board .tile-text-description{gap:2px;width:100%;min-width:0;font-size:.8125rem;line-height:1.25;display:grid}.text-board .tile-text-description>span:first-child{color:#aeb8ca;font-size:.6875rem}.text-board .tile-text-description b{color:#fff;text-transform:none;font-size:.875rem}.text-board .tile-text-description>span:not(:first-child){text-transform:capitalize}@media (max-width:759px){.accessible-mode :is(.tile-legend,.tile-legend--compact){grid-template-columns:1fr;gap:6px;height:auto;display:grid}.accessible-mode .tile-legend>div{text-align:left;grid-template-rows:24px 20px;grid-template-columns:86px minmax(0,1fr);align-items:center;min-height:58px;padding:7px 10px;display:grid}.accessible-mode .tile-legend>div+div{border-left:1px solid #6473916b}.accessible-mode .tile-legend strong{grid-row:1/3;margin:0}.accessible-mode .tile-legend .legend-symbols,.accessible-mode .tile-legend .legend-labels{grid-column:2}.accessible-mode .tile-legend .legend-labels i{font-size:.75rem}}@media (max-width:470px){.rule-card__direction:after{font-size:24px}.rule-card__direction--row{right:-20px}.rule-card__direction--column{bottom:-21px}.text-board .tile-grid{gap:6px}.text-board .tile-cell{min-height:120px;padding:8px 5px}.text-board .tile-mark{width:34px;height:34px;margin-bottom:7px}.text-board .tile-text-description{font-size:.75rem}.text-board .tile-text-description b{font-size:.8125rem}.text-board .tile-text-description>span:first-child{font-size:.625rem}}@media (max-width:350px){.text-board .tile-cell{min-height:114px}.text-board .tile-text-description{font-size:.6875rem}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
