@font-face{font-family:Poppins Fallback;src:local("Arial");size-adjust:104.5%;ascent-override:90%;descent-override:22%;line-gap-override:0%}:root{--font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--header-height: 50px;--color-background: #fdfdfd;--color-text: #2c3e50;--color-subtle-text: #7f8c8d;--color-primary: #16a085;--color-primary-hover: #138d75;--color-success: #27ae60;--color-header-border: #ecf0f1;--color-grid-gap: #ecf0f1;--color-tile-locked-border: #16a085;--color-modal-overlay: rgba(44, 62, 80, .6);--color-modal-bg: #ffffff;--color-panel-bg: #ffffff;--color-switch-bg: #bdc3c7;--color-switch-slider: white;--color-tooltip-bg: #2c3e50;--color-tooltip-text: #ffffff}[data-theme=dark]{--color-background: #2c3e50;--color-text: #ecf0f1;--color-subtle-text: #95a5a6;--color-primary: #1abc9c;--color-primary-hover: #2fccad;--color-success: #2ecc71;--color-header-border: #34495e;--color-grid-gap: #34495e;--color-modal-bg: #34495e;--color-panel-bg: #34495e;--color-switch-bg: #7f8c8d;--color-switch-slider: #ecf0f1;--color-tooltip-bg: #ecf0f1;--color-tooltip-text: #2c3e50}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%;overflow:hidden;background-color:var(--color-background);color:var(--color-text);font-family:var(--font-family);transition:background-color .3s,color .3s}body{display:flex;flex-direction:column;font-family:Poppins,Poppins Fallback,sans-serif}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABhQTFRFNTU1OTk5RERETU1NXV1dZGRka2tr////03D78AAAAAhrdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzQGstOgAAAAG0lEQVR42mL8//8/A27AxIAKGFUBL0QkAM3ADgEBALGKB/0Tj5chAAAAAElFTkSuQmCC);opacity:.05;pointer-events:none;z-index:-1}header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--header-height);padding:0 16px;border-bottom:1px solid var(--color-header-border);flex-shrink:0;background-color:var(--color-background)}header h1{display:flex;align-items:center;justify-content:center;gap:8px;font-size:22px;font-weight:700;letter-spacing:.05em}.clickable-logo{cursor:pointer;-webkit-user-select:none;user-select:none}.header-left,.header-right{display:flex;gap:8px}.header-left{justify-self:start}.header-right{justify-self:end}main{flex-grow:1;display:flex;justify-content:center;align-items:center;padding:10px;overflow:hidden}#puzzle-wrapper{position:relative;display:none;max-width:calc(100vh - var(--header-height) - 40px);max-height:calc(100vw - 40px);aspect-ratio:1 / 1}#game-area{position:relative;display:flex;justify-content:center;align-items:center}main.solution-docked{flex-direction:column;justify-content:flex-start;align-items:center;gap:20px;padding:20px;overflow-y:auto;overflow-x:hidden}main.solution-docked>#puzzle-wrapper,main.solution-docked>#docked-solution-panel{flex-shrink:0;max-width:600px;width:100%}main.solution-docked>#docked-solution-panel{order:-1}#docked-solution-panel{position:relative;border:2px solid var(--color-primary);border-radius:8px;overflow:hidden;background:var(--color-background)}#dockedSolutionImage{display:block;width:100%;height:100%;object-fit:cover}.docked-solution-header{position:absolute;top:5px;right:5px;z-index:10}.docked-solution-header .icon-button{background-color:#00000080;color:#fff}#puzzleGrid{display:grid;width:100%;height:100%;background-color:var(--color-grid-gap);border:2px solid var(--color-grid-gap);gap:2px;border-radius:8px;overflow:hidden;-webkit-user-select:none;user-select:none;transition:filter .3s ease-in-out}#puzzleGrid.blurred{filter:blur(5px);pointer-events:none}#puzzleGrid.puzzle-finished{border-color:var(--color-success)}.grid-slot{background-color:var(--color-background)}.tile{width:100%;height:100%;object-fit:cover;cursor:grab;touch-action:none}.tile.dragging{opacity:.4;cursor:grabbing}.tile.locked{cursor:not-allowed;outline:3px solid var(--color-tile-locked-border);outline-offset:-3px;z-index:10}.coordinate-labels{position:absolute;display:flex;justify-content:space-around;align-items:center;font-size:clamp(12px,2.5vmin,16px);font-weight:500;color:var(--color-subtle-text);-webkit-user-select:none;user-select:none;pointer-events:none;z-index:15;visibility:hidden}body.show-coords .coordinate-labels{visibility:visible}body.game-loading .coordinate-labels{visibility:hidden!important}#col-labels{bottom:100%;left:0;right:0;height:24px;flex-direction:row}#row-labels{right:100%;top:0;bottom:0;width:24px;flex-direction:column}.coordinate-labels span{flex:1;display:flex;justify-content:center;align-items:center}#new-game-panel{width:100%;max-width:480px;display:none;padding:0 10px;transition:transform .2s ease-out}.panel-content{background:var(--color-panel-bg);padding:24px;border-radius:12px;border:1px solid var(--color-header-border);box-shadow:0 8px 30px #0000001a}.panel-content h2{text-align:center;margin-bottom:8px;font-weight:700}.panel-instructions{text-align:center;color:var(--color-subtle-text);margin-bottom:24px;font-size:14px}.setting-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--color-header-border);gap:8px 16px}.setting-item:last-of-type{border-bottom:none}.setting-item label{font-weight:500;margin-bottom:0}#new-game-panel select,#new-game-panel input[type=text]{padding:8px;border-radius:8px;border:1px solid var(--color-header-border);background:var(--color-background);color:var(--color-text);min-width:150px;font-family:Poppins,sans-serif}.setting-item>.segmented-control,.setting-item>select{flex:1 1 220px}#custom-location-input-container{flex-direction:column;align-items:flex-start;gap:8px}#custom-location-input-container input{width:100%}.segmented-control{display:flex;border:1px solid var(--color-header-border);border-radius:8px;overflow:hidden;width:100%}.segmented-control input[type=radio]{display:none}.segmented-control label{position:relative;flex:1;padding:8px 12px;text-align:center;cursor:pointer;background-color:var(--color-background);color:var(--color-text);transition:background-color .2s,color .2s;-webkit-user-select:none;user-select:none;margin-bottom:0;border-left:1px solid var(--color-header-border);font-size:14px;font-weight:400}.segmented-control label:first-of-type{border-left:none}.segmented-control input[type=radio]:checked+label{background-color:var(--color-primary);color:#fff;font-weight:700}.segmented-control input[type=radio]:disabled+label{background-color:var(--color-grid-gap);color:var(--color-subtle-text);cursor:default;text-decoration:line-through}#daily-difficulty-selector>label,#grid-size-selector>label,#zoom-level-selector>label{align-self:center}#zoom-level-selector .segmented-control label{padding:8px 4px;font-size:13px}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-switch-bg);transition:.4s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-switch-slider);transition:.4s}input:checked+.slider{background-color:var(--color-primary)}input:checked+.slider:before{transform:translate(20px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}#pre-game-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:none;justify-content:center;align-items:center;background-color:#0000001a;z-index:20}#loading-indicator{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background-color:#0000001a;z-index:21}.loading-logo{animation:spin 1.5s linear infinite}.game-hud{position:fixed;z-index:998;display:none}.bottom-left{bottom:10px;left:10px}.bottom-right{bottom:10px;right:10px}#timer-display{background:#0009;color:#fff;padding:6px 12px;border-radius:8px;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}#showSolutionButton{width:44px;height:44px;border-radius:50%;border:none;background-color:var(--color-primary);color:#fff;font-size:22px;cursor:pointer;box-shadow:0 4px 10px #0003;transition:background-color .2s}#showSolutionButton.active{background-color:var(--color-success)}#info-banner{display:none;align-items:center;gap:12px;background-color:var(--color-grid-gap);color:var(--color-text);padding:12px 48px 12px 16px;margin:10px auto 0;width:calc(100% - 20px);max-width:520px;border-radius:8px;position:relative;box-shadow:0 2px 8px #0000000d}#info-banner .icon{color:var(--color-primary);font-size:24px;flex-shrink:0}#info-banner .message{flex-grow:1;font-size:14px;line-height:1.5}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-modal-overlay);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;padding:10px}.modal-overlay.visible{opacity:1;visibility:visible}.modal-content{background:var(--color-modal-bg);padding:24px;border-radius:12px;width:100%;max-width:520px;position:relative;box-shadow:0 10px 40px #0003;transform:scale(.95);transition:transform .3s}.modal-overlay.visible .modal-content{transform:scale(1)}.modal-content h2{text-align:center;margin-bottom:24px}.modal-content a{color:var(--color-primary);text-decoration:none}.modal-content a:hover{text-decoration:underline}.help-content,#statsModal .modal-content{max-height:85vh;overflow-y:auto}.help-section{margin-bottom:20px}.help-section h3{margin-bottom:8px;border-bottom:1px solid var(--color-header-border);padding-bottom:4px}.help-section p,.help-section li{line-height:1.6}.help-section ul{list-style-position:inside;margin:12px 0 0 5px;padding:0}.alert-content{max-width:360px;text-align:center}.alert-title{font-size:20px;font-weight:700;margin-bottom:0}.alert-content p{line-height:1.6;margin:16px 0 24px}.large-solution-content{max-width:90vw;max-height:90vh}#largeSolutionImage{display:block;width:100%;height:100%;object-fit:contain}#daily-info-popup{position:absolute;width:250px;background-color:var(--color-tooltip-bg);color:var(--color-tooltip-text);padding:12px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1001;opacity:0;pointer-events:none;transform:translateY(-5px);transition:opacity .2s ease-in-out,transform .2s ease-in-out}#daily-info-popup.visible{opacity:1;transform:translateY(0);pointer-events:auto}#daily-info-popup:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--color-tooltip-bg)}#popup-stats-container{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;margin-bottom:8px;font-size:14px;font-weight:500}.popup-stat-item{display:flex;align-items:center;gap:4px}#popup-trophy-case{justify-self:end;display:flex;gap:4px}#popup-trophy-case .trophy-icon{font-size:20px;line-height:1}#popup-text-solution{font-size:12px;font-style:italic;text-align:center;opacity:.7;margin-bottom:12px}.icon-button{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text);cursor:pointer;padding:4px;border-radius:50%}.icon-button:hover{background-color:var(--color-grid-gap)}.close-button{position:absolute;top:10px;right:10px;background:none;border:none;font-size:28px;color:var(--color-subtle-text);cursor:pointer;z-index:10}.close-button.banner-close{position:absolute;top:50%;right:8px;transform:translateY(-50%);padding:8px;line-height:0}.primary-button{width:100%;padding:12px;background-color:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;margin-top:16px;transition:background-color .2s}.primary-button:hover{background-color:var(--color-primary-hover)}.primary-button:disabled{background-color:var(--color-subtle-text);cursor:not-allowed}.primary-button.copied{background-color:var(--color-success)}.large-button{padding:16px 32px;font-size:20px;letter-spacing:.1em}.secondary-button{padding:10px 24px;background-color:transparent;color:var(--color-text);border:1px solid var(--color-header-border);border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s}.secondary-button:hover{background-color:var(--color-grid-gap)}.modal-button-container{display:flex;justify-content:center;gap:12px}.modal-button-container .primary-button,.modal-button-container .secondary-button{flex:1;margin-top:0}.share-button-group{display:grid;grid-template-areas:"x bsky" "share share";gap:12px;margin-top:24px}#shareXButton{grid-area:x}#shareBlueskyButton{grid-area:bsky}#shareGenericButton{grid-area:share}.share-button{width:100%;margin-top:0;padding:10px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}#popup-share-button{width:100%;padding:6px;font-size:14px;margin-top:0;display:flex;align-items:center;justify-content:center;gap:6px;background-color:#ffffff1a;color:var(--color-tooltip-text);border:1px solid rgba(255,255,255,.2)}#popup-share-button:hover{background-color:#fff3}[data-theme=dark] #popup-share-button{background-color:#00000026;border:1px solid rgba(0,0,0,.25)}[data-theme=dark] #popup-share-button:hover{background-color:#00000040}#popup-share-button .material-symbols-outlined{font-size:18px}.social-x{background-color:#000;color:#fff;border:none;border-radius:8px;font-weight:700}.social-x:hover{background-color:#333}.social-bsky{background-color:#007bff;color:#fff;border:none;border-radius:8px;font-weight:700}.social-bsky:hover{background-color:#0069d9}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px;text-align:center}.stat-value{font-size:28px;font-weight:700}.stat-label{font-size:12px;color:var(--color-subtle-text);text-transform:uppercase;letter-spacing:.05em}.trophy-case{display:flex;justify-content:center;align-items:stretch;gap:12px;margin:0 0 24px;flex-wrap:wrap}.trophy-item{display:flex;align-items:center;background-color:var(--color-grid-gap);padding:8px 16px;border-radius:8px;flex-grow:1}.trophy-icon{font-family:Material Symbols Outlined;font-size:32px;margin-right:12px;line-height:1}.trophy-icon.gold{color:gold}.trophy-icon.silver{color:silver}.trophy-icon.bronze{color:#cd7f32}.trophy-details .trophy-title{font-weight:700;font-size:15px}.trophy-details .trophy-desc{font-size:12px;color:var(--color-subtle-text)}#last-game-details{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-header-border);text-align:center}#completionImage{display:block;width:100%;max-width:250px;border-radius:8px;border:1px solid var(--color-header-border);margin:16px auto}#share-text-preview-container{margin:24px 0;text-align:left}#share-text-preview{background-color:var(--color-background);color:var(--color-text);padding:12px 16px;border-radius:8px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:13px;white-space:pre-wrap;word-break:break-all;border:1px solid var(--color-header-border);transition:background-color .3s,color .3s,border-color .3s}[data-theme=dark] #share-text-preview{background-color:#2c3e50}#copyScoreButton{margin-top:12px}.subtle-text{font-size:14px;color:var(--color-subtle-text);margin-top:8px}.stats-divider{border:0;height:1px;background-color:var(--color-header-border);margin:24px 0}.stats-subtitle{text-align:center;color:var(--color-subtle-text);font-weight:500;margin-bottom:16px;text-transform:uppercase;font-size:12px;letter-spacing:.05em}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24;vertical-align:middle}.material-symbols-outlined.small-icon{font-size:16px;vertical-align:text-bottom;margin-right:4px}#next-daily-countdown{text-align:center;color:var(--color-subtle-text);padding:8px;background-color:var(--color-grid-gap);border-radius:8px;margin-bottom:16px;font-size:14px}.countdown-label{margin-right:8px}.countdown-timer{font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ripple-expand{0%{transform:scale(.8);opacity:.6}to{transform:scale(2.5);opacity:0}}.ripple-effect-shape{position:absolute;top:0;left:0;right:0;bottom:0;border:3px solid var(--color-success);border-radius:12px;animation-name:ripple-expand;animation-duration:.7s;animation-timing-function:ease-out;pointer-events:none}@media (min-width: 900px) and (min-height: 500px){main.solution-docked{flex-direction:row;justify-content:center;align-items:center;overflow-x:auto;overflow-y:hidden;padding:10px}main.solution-docked>#puzzle-wrapper,main.solution-docked>#docked-solution-panel{flex-shrink:0;width:auto;max-width:none;order:0}}@media (max-height: 720px){#new-game-panel{transform:scale(.95)}}@media (max-height: 680px){#new-game-panel{transform:scale(.9)}}@media (max-height: 630px){#new-game-panel{transform:scale(.85)}}@media (max-height: 580px){#new-game-panel{transform:scale(.8)}}
