.iframe-game{--iframe-action-icon:#289af4;background:var(--bg-page);flex-direction:column;align-items:center;width:100%;min-height:100vh;padding:.25rem 1rem 1rem;display:flex}.iframe-game__topbar{justify-content:space-between;align-items:center;width:100%;max-width:40rem;min-height:3.25rem;margin:.25rem 0;display:flex}.iframe-game__completion{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.iframe-game__difficulty-wrap{min-width:11.25rem}.iframe-game__content{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.iframe-game__board{justify-content:center;width:100%;display:flex;overflow:hidden}.iframe-game__controls{width:100%}.iframe-timer{color:var(--text-primary);align-items:center;gap:.35rem;font-weight:600;display:flex}.iframe-timer__icon{filter:drop-shadow(0 .25rem 1.25rem #3c85bf2e);width:2.75rem;height:2.75rem;display:block}.iframe-timer__value{font-size:1rem;line-height:1}.iframe-difficulty{display:inline-block;position:relative}.iframe-difficulty__button{color:#2196f3;cursor:pointer;background:#fff;border:1px solid #ebf6ff;border-radius:1.875rem;justify-content:space-between;align-items:center;min-width:11.25rem;min-height:2.25rem;padding:.1875rem .875rem .1875rem 1rem;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:500;display:flex;box-shadow:0 .25rem 1.25rem #3c85bf2e}.iframe-difficulty__content{align-items:center;gap:.75rem;display:flex}.iframe-difficulty__label{text-transform:capitalize}.iframe-difficulty__arrow{justify-content:center;align-items:center;margin-left:.75rem;display:flex}.iframe-difficulty__menu{z-index:30;background:#fff;border-radius:.625rem;width:11.25rem;padding:.5rem 0;position:absolute;top:calc(100% + .625rem);left:.75rem;box-shadow:0 .25rem 1.25rem #3c85bf2e}.iframe-difficulty__item{color:#92a3ba;cursor:pointer;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.iframe-difficulty svg{flex:none;display:block}.iframe-difficulty__item+.iframe-difficulty__item{border-top:1px solid #ebf6ff}.iframe-difficulty__item--active{color:#2196f3}.iframe-actions{justify-content:center;gap:1rem;margin-top:.25rem;display:flex}.iframe-action{color:#fff;cursor:pointer;background:0 0;border:0;width:2.75rem;min-width:2.75rem;height:4.2rem;padding:0;position:relative}.iframe-action:disabled{cursor:not-allowed;opacity:.55}.iframe-action--active{--iframe-action-icon:#fff;color:#289af4}.iframe-action__icon{filter:drop-shadow(0 .25rem 1.25rem #3c85bf2e);width:2.75rem;height:2.75rem;display:block}.iframe-action__icon svg{width:100%;height:100%;display:block}.iframe-action__label{color:#2196f3;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.625rem;font-weight:500;line-height:1;position:absolute;top:3.2rem;left:50%;transform:translate(-50%)}.iframe-action__badge{color:#2196f3;background:#fff;border:1px solid #2196f3;border-radius:999px;justify-content:center;align-items:center;min-width:1.375rem;height:1.375rem;padding:0 .25rem;font-size:.5rem;font-weight:600;line-height:1;display:flex;position:absolute;top:0;right:-.35rem}.iframe-numpad{grid-template-columns:repeat(9,minmax(0,1fr));gap:.25rem;width:100%;max-width:36rem;margin:1rem auto 0;display:grid}.iframe-numpad__button{color:#2196f3;cursor:pointer;background:#ebf6ff;border:0;border-radius:.625rem;justify-content:center;align-items:center;min-width:0;height:2.625rem;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:500;display:flex}.iframe-numpad__button:hover{background:#dff0ff}.iframe-numpad__button--active{background:#b8dfff}.iframe-game__new-button{color:#fff;text-transform:uppercase;cursor:pointer;background:linear-gradient(90deg,#69bdff 0%,#2196f3 100%);border:0;border-radius:.75rem;width:min(15.5rem,100%);height:3.125rem;margin:.75rem auto 0;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:700;display:block;box-shadow:0 .75rem 1.5rem #2c83c840}@media (min-width:768px){.iframe-game{padding-top:.25rem}.iframe-game__topbar{max-width:44rem}.iframe-game__content{flex-direction:row;justify-content:center;align-items:stretch;gap:1rem}.iframe-game__board{align-items:center;width:auto}.iframe-game__controls{flex-direction:column;flex:0 0 15.3125rem;justify-content:space-between;width:15.3125rem;display:flex}.iframe-actions{justify-content:space-between;gap:0;margin-top:0}.iframe-numpad{grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%;margin-top:0}.iframe-numpad__button{border-radius:1rem;height:4.25rem;font-size:2rem}.iframe-game__new-button{width:100%;margin-top:0}.iframe-timer__value{font-size:1.25rem}}@media (min-width:1200px){.iframe-game__topbar{max-width:50rem}.iframe-game__controls{flex-basis:18.75rem;width:18.75rem}.iframe-numpad__button{height:5.625rem}}.futoshiki{flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:40rem;min-height:100vh;margin:0 auto;padding:.5rem;display:flex}.futoshiki__header{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.futoshiki__back-btn{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000;background:var(--bg-surface);color:var(--primary);border:1px solid var(--border-color);border-radius:.5rem;justify-content:center;align-items:center;padding:.25rem .5rem;font-size:.875rem;font-weight:500;transition:background-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.futoshiki__back-btn:hover{background:var(--bg-surface-alt);border-color:var(--accent)}.futoshiki__board{flex:1;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.futoshiki__toolbar{flex-wrap:wrap;justify-content:center;gap:.25rem;width:100%;display:flex}.futoshiki__toolbar-btn{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000;background:var(--bg-surface);color:var(--primary);border:1px solid var(--border-color);border-radius:.5rem;justify-content:center;align-items:center;padding:.25rem .5rem;font-size:.875rem;font-weight:500;transition:background-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.futoshiki__toolbar-btn:hover{background:var(--bg-surface-alt);border-color:var(--accent)}.futoshiki__toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.futoshiki__toolbar-btn--active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.futoshiki-grid-wrapper{display:inline-block;position:relative}.futoshiki-grid{display:grid}.futoshiki-cell{background:var(--cell-bg);cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px solid var(--border-strong);border-radius:.125rem;justify-content:center;align-items:center;transition:background-color .15s;display:flex;position:relative}.futoshiki-cell:hover{background:var(--cell-bg-hover)}.futoshiki-cell--selected{background:var(--cell-selected)!important}.futoshiki-cell--highlighted{background:var(--cell-highlighted)}.futoshiki-cell--error{background:var(--cell-error)}.futoshiki-cell--given{background:var(--cell-given);cursor:default;font-weight:800}.futoshiki-cell__digit{color:var(--cell-digit);font-size:1.5rem;font-weight:700;line-height:1}.futoshiki-cell--selected .futoshiki-cell__digit{color:#fff}.futoshiki-cell__pencil{opacity:.78;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:.14rem;display:grid}.futoshiki-cell__pencil-mark{color:var(--cell-pencil);justify-content:center;align-items:center;font-size:.45rem;line-height:1;display:flex}.futoshiki-cell__pencil-mark--active{color:var(--cell-pencil-active)}.futoshiki-cell--paused{background:#fff!important}.futoshiki-cell--paused .futoshiki-cell__digit,.futoshiki-cell--paused .futoshiki-cell__pencil{opacity:0}.futoshiki-ineq{color:var(--primary);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:800;line-height:1;display:flex}.futoshiki-ineq--horizontal{font-size:1.1rem}.futoshiki-ineq--vertical{font-size:.95rem}.futoshiki-ineq--violated{color:var(--error-text)}.futoshiki-cell-popup{z-index:20;background:var(--popup-bg);border:1px solid var(--popup-border);box-shadow:var(--popup-shadow);border-radius:.75rem;width:max-content;padding:.25rem;position:absolute}.futoshiki-cell-popup__backdrop{z-index:10;position:fixed;top:0;bottom:0;left:0;right:0}.futoshiki-cell-popup__digits{gap:.125rem;display:grid}.futoshiki-cell-popup__btn{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000;background:var(--btn-bg);min-width:2.25rem;min-height:2.25rem;color:var(--btn-text);border-radius:.5rem;justify-content:center;align-items:center;font-size:1rem;font-weight:600;transition:background-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.futoshiki-cell-popup__btn:hover{background:var(--btn-bg-hover)}.futoshiki-cell-popup__btn:active{background:var(--accent);color:#fff}.futoshiki-cell-popup__btn--clear{background:var(--bg-surface);border:1px solid var(--border-color);width:100%;color:var(--text-muted);margin-top:.125rem;font-size:.8125rem;font-weight:500}.futoshiki-cell-popup__btn--clear:hover{background:var(--btn-bg);color:var(--text-primary)}.futoshiki-stats{color:var(--text-muted);align-items:center;gap:1rem;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;display:flex}.futoshiki-stats__timer{color:var(--text-primary);font-family:SF Mono,Fira Code,Consolas,monospace;font-weight:600}.futoshiki-completion{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;display:flex}.futoshiki-completion__title{color:var(--primary);font-size:1.75rem;font-weight:700}.futoshiki-completion__badge{background:var(--success-bg);color:var(--success-text);border-radius:1rem;padding:.25rem .5rem;font-size:.875rem;font-weight:600;display:inline-block}.futoshiki-completion__stats{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.futoshiki-completion__stat{flex-direction:column;align-items:center;gap:.125rem;display:flex}.futoshiki-completion__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem}.futoshiki-completion__value{color:var(--text-primary);font-size:1.25rem;font-weight:700}.futoshiki-completion__actions{gap:.5rem;display:flex}.futoshiki-completion__btn{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000;background:var(--btn-gradient);color:#fff;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 4px 12px var(--soft-shadow);border-radius:.75rem;justify-content:center;align-items:center;padding:.5rem 1.5rem;font-size:.875rem;font-weight:700;transition:background-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.futoshiki-completion__btn:hover{background:var(--btn-gradient-active);box-shadow:0 6px 16px var(--soft-shadow)}.futoshiki-completion__btn:active{background:var(--btn-gradient-active);box-shadow:0 2px 8px var(--soft-shadow)}.futoshiki-completion__btn--secondary{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000;background:var(--bg-surface);color:var(--primary);border:1px solid var(--border-color);border-radius:.5rem;justify-content:center;align-items:center;padding:.25rem .5rem;font-size:.875rem;font-weight:500;transition:background-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.futoshiki-completion__btn--secondary:hover{background:var(--bg-surface-alt);border-color:var(--accent)}.futoshiki-completion__btn--secondary{padding:.5rem 1.5rem;font-size:1rem}@media (min-width:1200px){.futoshiki{padding:1rem}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}a{color:inherit;text-decoration:none}:root{--accent:#1591f4;--accent-rgb:21,145,244;--accent-hover:#289af4;--accent-success:#50c878;--primary:#0473cc;--selected:#289af4;--bg-page:#fff;--bg-surface:#fff;--bg-surface-alt:#ebf6ff;--bg-input:#fff;--text-primary:#1e1e1e;--text-secondary:#333;--text-muted:#616161;--border-color:#b8dfff;--border-strong:#b9dcf7;--grid-border:#0473cc;--btn-bg:#ebf6ff;--btn-bg-hover:#b9dcf7;--btn-text:#1e1e1e;--btn-gradient:linear-gradient(90deg,#69bdff 0%,#2196f3 100%);--btn-gradient-active:linear-gradient(90deg,#61b9ff 0%,#1992f2 100%);--cell-bg:#fff;--cell-bg-hover:#ebf6ff;--cell-selected:#289af4;--cell-highlighted:#ebf6ff;--cell-error:#fff0f0;--cell-completed:#e8f8ee;--cell-given:#f5faff;--cell-digit:#1e1e1e;--cell-pencil:#8fa6c1;--cell-pencil-active:#6b8bad;--popup-bg:#fff;--popup-border:#b8dfff;--popup-shadow:0 4px 20px #2c83c840;--clue-bg:#0473cc;--clue-text:#fff;--clue-line:#b9dcf7;--error-text:#ff5050;--error-bg:#ff50501f;--success-text:#50c878;--success-bg:#50c8781f;--cage-border:#0473cc;--cage-internal:#b8dfff;--ineq-color:#92a3ba;--edge-clue-neutral:#92a3ba;--soft-shadow:#2c83c840;--killer-cage-fill:#1591f40d;--killer-cage-border:#0473cc;--killer-cage-sum:#1e1e1e;--sudoku-grid-inner-color:#b8dfff;--sudoku-grid-block-color:#0473cc;--checker-a:#2196f312;--checker-b:#ff980012}[data-theme=dark]{--accent:#1591f4;--accent-rgb:21,145,244;--accent-hover:#289af4;--accent-success:#50c878;--primary:#5ab0f2;--selected:#289af4;--bg-page:#0d1b2a;--bg-surface:#132238;--bg-surface-alt:#1a2d47;--bg-input:#132238;--text-primary:#e8edf3;--text-secondary:#a8b8cc;--text-muted:#7889a0;--border-color:#2a3f5a;--border-strong:#345071;--grid-border:#345071;--btn-bg:#1a2d47;--btn-bg-hover:#233b56;--btn-text:#e8edf3;--btn-gradient:linear-gradient(90deg,#69bdff 0%,#2196f3 100%);--btn-gradient-active:linear-gradient(90deg,#61b9ff 0%,#1992f2 100%);--cell-bg:#162a42;--cell-bg-hover:#1d3350;--cell-selected:#289af4;--cell-highlighted:#1a2d47;--cell-error:#ff505033;--cell-completed:#50c87826;--cell-given:#1a2d47;--cell-digit:#e8edf3;--cell-pencil:#7a96b5;--cell-pencil-active:#9ab3cc;--popup-bg:#132238;--popup-border:#2a3f5a;--popup-shadow:0 4px 20px #00000080;--clue-bg:#0d1b2a;--clue-text:#b9dcf7;--clue-line:#2a3f5a;--error-text:#ff6b6b;--error-bg:#ff505026;--success-text:#50c878;--success-bg:#50c8781f;--cage-border:#8899b0;--cage-internal:#2a3f5a;--ineq-color:#5a7090;--edge-clue-neutral:#5a7090;--soft-shadow:#0006;--killer-cage-fill:#1591f414;--killer-cage-border:#8899b0;--killer-cage-sum:#e8edf3;--sudoku-grid-inner-color:#2a3f5a;--sudoku-grid-block-color:#345071;--checker-a:#3ca0ff1a;--checker-b:#ffaa321a}html{font-size:16px}@media (min-width:768px){html{font-size:17px}}@media (min-width:1200px){html{font-size:18px}}body{background-color:var(--bg-page);color:var(--text-primary);font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}#root{flex-direction:column;align-items:center;min-height:100vh;display:flex}