@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:fallback;src:url(/wp-content/themes/twentytwentyfive/assets/fonts/manrope/Manrope-VariableFont_wght.woff2) format("woff2")}:root{--base:#0d0f15;--contrast:#eef1f7;--accent-1:#ff7a45;--accent-2:#35e0c2;--accent-3:#8f7dff;--accent-4:#a7afc2;--accent-5:#161a24;--accent-6:#2a3042;--surface-2:#1d2230;--text-soft:#d4d9e5;--sp-40:clamp(18px,2.4vw,24px);--sp-50:clamp(24px,4vw,40px);--sp-60:clamp(32px,5vw,56px);--sp-70:clamp(44px,7vw,80px);--content:760px;--wide:1180px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--base);background-image:radial-gradient(1200px 600px at 50% -200px,#1b2033 0%,var(--base) 70%);background-repeat:no-repeat;color:var(--contrast);font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:17px;line-height:1.65;overflow-x:hidden}a{color:var(--accent-2);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:#7ff0dc}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}img,svg{max-width:100%;height:auto}h1,h2,h3,h4{line-height:1.2;font-weight:800;margin:1.6em 0 .55em}h1{font-size:clamp(1.85rem,1.6rem + 1.4vw,2.6rem);margin-top:.2em;letter-spacing:-.01em}h2{font-size:clamp(1.45rem,1.35rem + .6vw,1.75rem)}h3{font-size:clamp(1.15rem,1.1rem + .3vw,1.3rem)}p{margin:0 0 1.05em}ul,ol{padding-left:1.3em;margin:0 0 1.1em}li{margin:.25em 0}code,kbd,.alg{font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}kbd{background:var(--surface-2);border:1px solid var(--accent-6);border-bottom-width:2px;border-radius:6px;padding:.05em .4em}.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:12px;top:12px;z-index:100;background:var(--base);padding:8px 12px;border-radius:8px}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fiar-header{position:sticky;top:0;z-index:50;background:#0d0f15eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--accent-6)}.fiar-header-inner{max-width:var(--wide);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--sp-40)}.fiar-brand{display:inline-flex;align-items:center;gap:10px;color:var(--contrast)!important;text-decoration:none!important;font-weight:800;font-size:1.15rem;letter-spacing:.2px;white-space:nowrap}.fiar-discs{display:inline-grid;grid-template-columns:repeat(2,11px);gap:3px}.fiar-discs i{width:11px;height:11px;border-radius:50%;background:var(--accent-1);box-shadow:0 0 7px #ff7a458c}.fiar-discs i:nth-child(2),.fiar-discs i:nth-child(3){background:var(--accent-2);box-shadow:0 0 7px #35e0c280}.fiar-nav-wrap{display:flex;align-items:center;gap:14px;margin-left:auto}.nav{font-size:.875rem;font-weight:700}.nav ul{list-style:none;margin:0;padding:0}.nav>ul{display:flex;gap:1.15em;align-items:center}.nav li{position:relative;margin:0}.nav a{color:var(--contrast);text-decoration:none;white-space:nowrap}.nav a:hover,.nav a[aria-current=page]{color:var(--accent-2)}.nav .has-sub>a:after{content:"";display:inline-block;width:5px;height:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin:0 0 3px 6px}.nav .sub{display:none;position:absolute;top:100%;left:-12px;padding:6px 0;min-width:230px;background:var(--surface-2);border:1px solid var(--accent-6);border-radius:10px;box-shadow:0 12px 30px #00000073}.nav .sub a{display:block;padding:.45em 1em;font-weight:600}.nav .has-sub:hover>.sub,.nav .has-sub:focus-within>.sub{display:block}.nav .has-sub:before{content:"";position:absolute;left:0;right:0;top:100%;height:10px}.fiar-play-now{display:inline-block;background:var(--accent-1);color:var(--base)!important;border-radius:999px;padding:.5rem 1.05rem;font-size:.9rem;font-weight:800;text-decoration:none;box-shadow:0 0 18px #ff7a4559;white-space:nowrap}.fiar-play-now:hover{background:#ff8f62}.menu-btn{display:none;background:none;border:0;color:var(--contrast);padding:8px;margin:-8px 0;cursor:pointer;border-radius:8px}.menu-btn svg{display:block}@media(max-width:1000px){.menu-btn{display:block}.nav{display:none;position:fixed;inset:0;z-index:60;background:var(--base);padding:72px 24px 24px;overflow-y:auto;font-size:1.05rem}.nav.open{display:block}.nav>ul{flex-direction:column;align-items:flex-start;gap:.9em}.nav .sub{display:block;position:static;background:transparent;border:0;box-shadow:none;padding:.3em 0 0 .8em;min-width:0}.nav .sub a{padding:.25em 0;font-weight:500;color:var(--text-soft)}.nav .has-sub>a:after{display:none}.menu-close{position:absolute;top:14px;right:18px}.fiar-play-now{padding:.45rem .85rem;font-size:.85rem}.fiar-brand{font-size:1.02rem}}@media(min-width:1001px){.menu-close{display:none}}main{display:block;padding:var(--sp-40) var(--sp-40) var(--sp-70)}.wrap{max-width:var(--content);margin:0 auto}.wrap-wide{max-width:var(--wide);margin:0 auto}.fiar-crumbs{font-size:.85rem;color:var(--accent-4);margin:0 0 .4rem}.fiar-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35em}.fiar-crumbs li{margin:0}.fiar-crumbs li+li:before{content:"\203a";margin-right:.35em;color:var(--accent-4)}.fiar-crumbs a{color:var(--accent-4)}.fiar-crumbs a:hover{color:var(--accent-2)}.lead{font-size:1.06rem;color:var(--text-soft)}.note{font-size:.9rem;color:var(--accent-4)}.tm-note{font-size:.85rem;color:var(--accent-4);border-left:3px solid var(--accent-6);padding-left:.8em}.box{background:var(--accent-5);border:1px solid var(--accent-6);border-radius:14px;padding:1rem 1.25rem;margin:1.2rem 0}.box>:last-child{margin-bottom:0}.box h2,.box h3{margin-top:0}.tip{border-left:4px solid var(--accent-2)}.warn{border-left:4px solid var(--accent-1)}.table-wrap{overflow-x:auto;margin:0 0 1.2rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border:1px solid var(--accent-6);padding:.55em .75em;text-align:left;vertical-align:top}th{background:var(--surface-2);font-weight:700}tbody tr:nth-child(2n) td{background:#161a2499}details.faq{background:var(--accent-5);border:1px solid var(--accent-6);border-radius:12px;padding:.85rem 1.1rem;margin-top:.6rem}details.faq summary{font-weight:700;cursor:pointer}details.faq[open] summary{color:var(--accent-2);margin-bottom:.4rem}details.faq p{margin:0 0 .5em;color:var(--text-soft)}details.faq p:last-child{margin:0}.keep-reading{margin-top:var(--sp-60);background:var(--accent-5);border:1px solid var(--accent-6);border-left:4px solid var(--accent-2);border-radius:14px;padding:1.1rem 1.4rem}.keep-reading h2{font-size:1.25rem;margin-top:0}.keep-reading ul{margin:.4rem 0}.keep-back{font-size:.9rem;color:var(--accent-4)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:1rem 0 1.4rem;padding:0;list-style:none}.cards li{margin:0}.card{display:block;height:100%;background:var(--accent-5);border:1px solid var(--accent-6);border-radius:14px;padding:.9rem 1rem;color:var(--contrast);text-decoration:none}.card:hover{border-color:var(--accent-2);color:var(--contrast)}.card b{display:block;font-size:1.02rem;margin-bottom:.15rem}.card span{display:block;font-size:.88rem;color:var(--accent-4);line-height:1.45}.figure{margin:1.2rem 0;text-align:center}.figure figcaption{font-size:.85rem;color:var(--accent-4);margin-top:.35rem}.figrow{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:1rem 0}.figrow figure{margin:0;text-align:center;max-width:180px}.figrow figcaption{font-size:.82rem;color:var(--accent-4)}.steps{counter-reset:s;list-style:none;padding:0}.steps>li{counter-increment:s;position:relative;padding-left:2.4em;margin:.8em 0}.steps>li:before{content:counter(s);position:absolute;left:0;top:.05em;width:1.75em;height:1.75em;border-radius:50%;background:var(--surface-2);border:1px solid var(--accent-6);display:grid;place-items:center;font-weight:800;font-size:.85em}.alg{display:inline-block;background:var(--surface-2);border:1px solid var(--accent-6);border-radius:8px;padding:.1em .5em;color:#fff;word-break:break-word}.alg-big{font-size:1.15em;padding:.3em .7em}.alg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:1rem 0 1.6rem}.alg-card{display:flex;gap:12px;align-items:center;background:var(--accent-5);border:1px solid var(--accent-6);border-radius:14px;padding:.7rem .8rem}.alg-card svg{flex:none;width:86px;height:86px}.alg-card .meta{min-width:0}.alg-card h3{font-size:.98rem;margin:0 0 .25rem}.alg-card .alg{font-size:.82rem}.alg-card .try{font-size:.8rem;margin-top:.3rem;display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:42px;padding:.5em 1em;border-radius:999px;border:1px solid var(--accent-6);background:var(--surface-2);color:var(--contrast);font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.1;touch-action:manipulation}.btn:hover{border-color:var(--accent-2);color:var(--contrast)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent-1);border-color:var(--accent-1);color:var(--base)}.btn-primary:hover{background:#ff8f62;color:var(--base)}.btn-teal{background:var(--accent-2);border-color:var(--accent-2);color:var(--base)}.btn-teal:hover{background:#6af0d8;color:var(--base)}.btn-sm{min-height:34px;padding:.35em .8em;font-size:.84rem}.btn[aria-pressed=true]{border-color:var(--accent-2);box-shadow:inset 0 0 0 1px var(--accent-2)}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin:.6rem 0}.tool{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;margin:1rem 0 1.5rem}@media(max-width:860px){.tool{grid-template-columns:minmax(0,1fr)}}.stage{position:relative;border-radius:18px;background:radial-gradient(circle at 50% 40%,#232a3f,#141824 70%);box-shadow:0 10px 40px #00000073,0 0 0 1px #30384f;overflow:hidden}.cv{position:relative;width:100%;height:min(66vh,560px);min-height:300px}@media(max-width:600px){.cv{height:min(56vh,430px)}main{padding-left:16px;padding-right:16px}.fiar-header-inner{padding-left:16px;padding-right:16px}}.cv-canvas{display:block;width:100%;height:100%;cursor:grab;outline:none}.cv-canvas:active{cursor:grabbing}.cv-fallback{display:grid;place-items:center;height:100%;padding:12px}.cv-note{position:absolute;left:10px;right:10px;bottom:6px;margin:0;font-size:.8rem;color:var(--accent-4);text-align:center}.stage-top{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;gap:8px;pointer-events:none;z-index:2}.stage-top>*{pointer-events:auto}.pill{white-space:nowrap;background:#0d0f15bf;border:1px solid var(--accent-6);border-radius:999px;padding:.25em .75em;font-size:.82rem;font-weight:700;color:var(--text-soft)}.turnbar{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#0d0f15e0;border:1px solid var(--accent-6);border-radius:999px;padding:6px 8px;z-index:3;max-width:calc(100% - 20px)}.turnbar[hidden]{display:none}.turnbar .face{font-size:.85rem;font-weight:800;padding:0 .4em;white-space:nowrap}.turnbar .btn{min-height:44px;min-width:56px;font-size:1.05rem}.turnbar .x{min-width:40px;padding:.4em .6em}.panel{background:var(--accent-5);border:1px solid var(--accent-6);border-radius:16px;padding:1rem}.panel h2{font-size:1.1rem;margin:0 0 .5rem}.panel p{font-size:.92rem}.panel+.panel{margin-top:12px}.stats{display:flex;gap:14px;flex-wrap:wrap;font-size:.9rem;color:var(--text-soft)}.stats b{color:var(--contrast);font-size:1.05rem}.movelog{font-family:Fira Code,ui-monospace,monospace;font-size:.85rem;color:var(--text-soft);min-height:1.6em;max-height:5.2em;overflow:auto;word-break:break-word}.keys{font-size:.84rem;color:var(--accent-4)}.celebrate{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:4}.celebrate .msg{position:relative;z-index:2;background:#0d0f15e6;border:1px solid var(--accent-2);color:var(--contrast);padding:.7em 1.2em;border-radius:14px;font-weight:800;font-size:1.15rem;text-align:center;animation:pop .35s ease-out}.confetti{position:absolute;width:9px;height:14px;border-radius:2px;top:45%;left:50%;animation:fly 1.3s ease-out forwards}@keyframes pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fly{to{transform:translate(var(--dx),var(--dy)) rotate(var(--r));opacity:0}}@media(prefers-reduced-motion:reduce){.confetti{display:none}.celebrate .msg{position:relative;z-index:2;animation:none}}.playbar{position:absolute;left:8px;right:8px;bottom:8px;display:flex;align-items:center;gap:6px;background:#0d0f15e6;border:1px solid var(--accent-6);border-radius:14px;padding:6px;z-index:3}.playbar[hidden]{display:none}.playbar .btn{min-width:46px;min-height:44px;padding:.3em .6em}.pb-text{flex:1;min-width:0;font-size:.85rem;font-weight:700;line-height:1.25;padding-left:4px}.pb-text .alg{font-size:.85rem}.sol-moves{display:flex;flex-wrap:wrap;gap:6px;margin:.5rem 0;padding:0;list-style:none}.sol-moves li{margin:0}.sol-moves button{font-family:Fira Code,ui-monospace,monospace;font-size:.95rem;min-width:44px;min-height:38px;border-radius:8px;border:1px solid var(--accent-6);background:var(--surface-2);color:var(--contrast);cursor:pointer}.sol-moves button.done{opacity:.5}.sol-moves button.now{background:var(--accent-2);color:var(--base);border-color:var(--accent-2);opacity:1}.explain{min-height:2.8em;font-weight:700;color:var(--contrast)}.errors{color:#ffb4a0;font-size:.92rem;padding-left:1.1em}.palette{display:flex;flex-wrap:wrap;gap:8px;margin:.5rem 0}.swatch{width:44px;height:44px;border-radius:10px;border:2px solid rgba(255,255,255,.18);cursor:pointer}.swatch[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 3px var(--accent-2)}.net{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;max-width:420px;margin:.6rem auto}.net button{aspect-ratio:1;border:1px solid #000;border-radius:4px;padding:0;cursor:pointer;min-width:0}.net button:focus-visible{outline:2px solid #fff;outline-offset:1px}.net .gap{visibility:hidden}.seg{display:inline-flex;border:1px solid var(--accent-6);border-radius:999px;overflow:hidden;margin:.2rem 0 .8rem}.seg button{border:0;background:transparent;color:var(--text-soft);font:inherit;font-weight:700;font-size:.9rem;padding:.55em 1em;cursor:pointer;min-height:42px}.seg button[aria-pressed=true]{background:var(--surface-2);color:var(--contrast)}.progress{height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin:.4rem 0}.progress i{display:block;height:100%;background:var(--accent-2);width:0;transition:width .2s}input[type=range]{width:100%;accent-color:var(--accent-2)}label{font-size:.9rem}.stage-btns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.stage-btns .btn{background:#0d0f15cc}@media(max-width:420px){.stage-btns{gap:4px}.stage-btns .btn{padding:.35em .6em}.stage-top .pill{padding:.25em .55em}}.stage-hint{position:absolute;left:10px;right:10px;top:56px;z-index:2;background:#0d0f15e6;border:1px solid var(--accent-6);border-radius:12px;padding:.5rem .7rem;font-size:.85rem;line-height:1.4}.stage-hint[hidden]{display:none}.stage-hint .alg{font-size:.82rem}.stage-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:.4rem 0 .8rem;padding:0;list-style:none}@media(max-width:860px){.stage-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.stage-tabs button{white-space:nowrap}}.stage-tabs li{margin:0}.stage-tabs button{border:1px solid var(--accent-6);background:var(--accent-5);color:var(--text-soft);border-radius:10px;padding:.4em .7em;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;min-height:40px}.stage-tabs button[aria-current=step]{border-color:var(--accent-2);color:var(--contrast)}.stage-tabs .tick{color:var(--accent-2)}.hint{background:var(--surface-2);border-radius:12px;padding:.7rem .9rem;font-size:.92rem;margin:.5rem 0}.goal-ok{color:var(--accent-2);font-weight:800}.timer-box{text-align:center;padding:1.2rem 1rem 1.4rem;border-radius:18px;background:radial-gradient(circle at 50% 30%,#232a3f,#141824 75%);box-shadow:0 10px 40px #00000073,0 0 0 1px #30384f;user-select:none;-webkit-user-select:none;touch-action:manipulation;cursor:pointer}.timer-box:focus-visible{outline:3px solid var(--accent-2)}.time{font-family:Fira Code,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:clamp(3rem,13vw,6.5rem);font-weight:700;line-height:1.1;margin:.2em 0}.time.ready{color:var(--accent-2)}.time.wait{color:#ff6b6b}.time.insp{color:var(--accent-1)}.scramble{font-family:Fira Code,ui-monospace,monospace;font-size:clamp(.95rem,2.6vw,1.2rem);word-spacing:.15em;margin:.3rem auto;max-width:640px}.times{list-style:none;padding:0;margin:.4rem 0;max-height:320px;overflow:auto;font-family:Fira Code,ui-monospace,monospace;font-size:.9rem}.times li{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--accent-6);padding:.3em .2em;margin:0}.times button{background:none;border:0;color:var(--accent-4);cursor:pointer;font:inherit;font-size:.8rem;min-height:30px}.demo{margin:1.4rem 0;border-radius:18px;background:radial-gradient(circle at 50% 40%,#232a3f,#141824 70%);box-shadow:0 0 0 1px #30384f;overflow:hidden}.demo .cv{height:320px;min-height:280px}.demo-poster{display:grid;place-items:center;height:320px;position:relative}.demo-poster svg{width:170px;height:auto}.demo-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;padding:.6rem;border-top:1px solid var(--accent-6);background:#0d0f1580}.demo-bar .alg{font-size:.85rem}.demo-cap{font-size:.85rem;color:var(--accent-4);text-align:center;padding:.1rem .8rem .7rem;margin:0}.fiar-footer{border-top:1px solid var(--accent-6);background:var(--accent-5);padding:var(--sp-60) var(--sp-40) var(--sp-50);font-size:.9rem}.fiar-footer-in{max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;gap:1.1rem}.fiar-footer a{color:#c9d0e0;text-decoration:none}.fiar-footer a:hover{color:var(--accent-2);text-decoration:underline}.fiar-footer-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.fiar-footer-links li{margin:0}.fiar-footer-hubs a{font-weight:700;color:var(--contrast)}.fiar-footer-notice{color:var(--accent-4);font-size:.82rem;max-width:760px;margin:0}.fiar-footer .fiar-brand{font-size:1.05rem}
