:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-main: #2a2a33;--text-main: #f0f0f0;--hint-bg: #2e2e3f;--hint-border: #555;--cell-light: #ffffff;--cell-gray: #d0d0d0;--cell-hover: #f0f0f0;--cross-color: #e53935}body{margin:0;background:var(--bg-main);color:var(--text-main);font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:block}.app{text-align:center;padding:0;max-width:600px;margin:0 auto;background:#2a2a33}.title-bar{position:relative;width:100%;display:flex;align-items:baseline;justify-content:center;margin-bottom:1rem;box-sizing:border-box}.game-title{font-size:1.8rem;font-weight:700;color:var(--text-main);margin:0 auto;line-height:1;text-align:center;flex-shrink:0}.about-link{position:absolute;right:10px;bottom:0;color:#aaa;font-size:.75rem;font-weight:500;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease;line-height:1}.about-link:hover{color:#fff;text-decoration:none}.game-container{width:100%;max-width:600px;margin:0 auto;background:#1e1e2f;padding:.25rem;display:flex;flex-direction:column;align-items:center}.controls-container{width:fit-content;margin:1rem auto 0}.controls{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;margin-bottom:4px}.controls button,.controls select,.controls label{flex:0 0 auto;text-align:center}.controls button,.btn-gray,.share-btn.share-small{background:#666!important;color:#fff!important;font-size:.78rem!important;padding:3px 6px!important;border-radius:0!important;line-height:1.2;display:inline-block;text-decoration:none;font-weight:600;margin:2px;cursor:pointer;border:none}.controls button:hover,.btn-gray:hover,.share-btn.share-small:hover{background:#555!important}.board{display:grid;grid-template-columns:auto repeat(var(--grid-size),1fr);grid-template-rows:auto repeat(var(--grid-size),1fr);width:fit-content;gap:0;border-collapse:collapse}.hint,.corner,.cell{width:40px;height:40px;box-sizing:border-box}.hint,.corner{display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--hint-bg);border:1px solid var(--hint-border);color:var(--text-main)}.cell{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--cell-light);-webkit-user-select:none;user-select:none;font-weight:700;transition:background .2s;border:none}.cell:hover{background:var(--cell-hover)}.cell.gray{background:var(--cell-gray)}.cell.top{border-top:1px solid #000}.cell.right{border-right:1px solid #000}.cell.bottom{border-bottom:1px solid #000}.cell.left{border-left:1px solid #000}.cell.dot:after{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);background:#000;border-radius:50%;pointer-events:none;transition:opacity .4s ease}.cell.cross:after{content:"✕";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:26px;font-weight:900;line-height:1;color:var(--cross-color);text-shadow:0 0 1px #b71c1c;pointer-events:none}.hint.ok{background:#fff;color:#000;border-color:#000;transition:background .2s,color .2s}.cell.dot.solved-dot:after{display:none}.cell.solved-dot:before{content:var(--symbol);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:28px;line-height:1;color:var(--symbol-color, #e53935);text-shadow:0 1px 1px rgba(0,0,0,.6),0 -1px 1px rgba(255,255,255,.4);pointer-events:none;opacity:1;transition:opacity .4s ease,transform .4s ease}.win{margin-top:1rem;font-size:2rem;font-weight:700;color:#22c55e;text-shadow:0 0 10px #22c55e;animation:blink 1s infinite alternate}@keyframes blink{0%{opacity:1}to{opacity:.6}}.daily-banner{margin:.5rem auto .8rem;padding:6px 10px;background:#3b3b4f;color:#fff;border-radius:6px;font-weight:600;font-size:.9rem;width:fit-content;box-shadow:0 0 5px #0006;text-align:center;letter-spacing:.3px;display:flex;align-items:center;gap:.4rem}.copy-link-btn{margin-left:.5rem;font-size:.65rem;padding:1px 4px;border-radius:4px;border:1px solid #ccc;background:#0003;color:#fff;cursor:pointer}.copy-link-btn:hover{background:#ffffff26}.copy-link-msg{font-size:.65rem;opacity:.9}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:#1f1f2b;color:#f5f5f5;max-width:calc(40px * (var(--grid-size) + 1));width:100%;max-height:90vh;overflow-y:auto;padding:1rem 1.2rem 1.2rem;border-radius:8px;box-shadow:0 0 18px #000c;position:relative;text-align:left;font-size:.9rem;animation:fadeIn .25s ease}.modal-content h2{margin-top:0;margin-bottom:.5rem;font-size:1.2rem}.modal-content p{margin:0;line-height:1.4}.modal-close{position:absolute;top:6px;right:8px;background:transparent!important;border:none;color:#ccc!important;font-size:1.2rem!important;padding:0!important;cursor:pointer}.modal-close:hover{color:#fff!important}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tips-layout{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.tips-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem;justify-content:center}.tips-tab{background:#333;color:#eee;border:1px solid #555;padding:3px 6px;font-size:.75rem;text-align:left;cursor:pointer}.tips-tab:hover{background:#444}.tips-tab-active{background:#666;border-color:#aaa;font-weight:600}.tips-detail{flex:1;font-size:.85rem}.tips-images{margin-top:.4rem;display:flex;flex-direction:column;gap:.4rem;align-items:center}.tips-images img{width:100%;max-width:100%;height:auto;border-radius:4px;border:1px solid #444}.tips-error{margin-top:.6rem;color:#ffb3b3;font-size:.8rem}@media (max-width: 600px){.tips-list{justify-content:flex-start;overflow-x:auto}.tips-tab{white-space:nowrap}}.tips-image-clickable{cursor:zoom-in}.tips-lightbox-backdrop{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:3000}.tips-lightbox-content img{max-width:95vw;max-height:95vh;border-radius:6px;border:1px solid #666;box-shadow:0 0 25px #000000e6}.find-form{margin-top:.6rem;display:flex;flex-direction:column;gap:.4rem}.find-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.find-row label{font-size:.85rem}.find-row select,.find-row input{font-size:.85rem;padding:2px 4px}.find-actions{margin-top:.4rem;display:flex;justify-content:flex-end;gap:.4rem}.find-error{margin-top:.2rem;color:#ffb3b3;font-size:.8rem}
