.numlogic-shell{--sd-bg: #f5f8ff;--sd-surface: #ffffff;--sd-text: #10243b;--sd-muted: #5b6f88;--sd-border: #d3deee;--sd-primary: #0f67f2;--sd-primary-soft: #dbe8ff;--sd-warn: #c45a0d;--sd-error: #b71c1c;--sd-good: #0b6b44;--sd-cell-base: #ffffff;--sd-cell-given-bg: #edf2f7;--sd-cell-given-text: #46566d;--sd-grid-line: #94a3b8;--sd-grid-box-line: #5b6f88;--sd-grid-outer-line: #334155;--sd-cell-related-bg: #fff4cc;--sd-cell-same-bg: #dceaff;--sd-cell-selected-bg: #b9d8ff;--sd-cell-selected-ring: #1d5fd5;--sd-cell-hint-bg: #e4f8eb;--sd-cell-hint-ring: #1f8a54;--sd-cell-solved-bg: #ecfaf2;--sd-cell-mistake-bg: #ffe6e6;min-height:100%;background:radial-gradient(circle at top right,#e8f0ff 0%,var(--sd-bg) 52%);color:var(--sd-text);padding:1rem 0 3rem}.numlogic-shell.dark{--sd-bg: #0d1728;--sd-surface: #132239;--sd-text: #e7f0ff;--sd-muted: #a6bdd9;--sd-border: #2e3f5a;--sd-primary: #4ea0ff;--sd-primary-soft: #243e63;--sd-warn: #ffb15c;--sd-error: #ff8d8d;--sd-good: #53d89e;--sd-cell-base: #132239;--sd-cell-given-bg: #1e2a38;--sd-cell-given-text: #c3d4e8;--sd-grid-line: #4b607a;--sd-grid-box-line: #87a2c2;--sd-grid-outer-line: #bdd1ea;--sd-cell-related-bg: #54461f;--sd-cell-same-bg: #1f4d77;--sd-cell-selected-bg: #315b8a;--sd-cell-selected-ring: #7ab5ff;--sd-cell-hint-bg: #224f3f;--sd-cell-hint-ring: #77d7af;--sd-cell-solved-bg: #1f4f3c;--sd-cell-mistake-bg: #5b1f2b;background:radial-gradient(circle at top right,#153258 0%,var(--sd-bg) 48%)}.numlogic-page{max-width:980px;margin:0 auto;padding:0 1rem}.numlogic-card{background:var(--sd-surface);border:1px solid var(--sd-border);border-radius:18px;box-shadow:0 10px 28px #0c20441f}.numlogic-screen-title{margin:0;padding:.85rem 1.1rem 0;font-size:.98rem;line-height:1.3;color:var(--sd-muted);font-weight:700}.numlogic-generator-card{margin-bottom:1rem}.numlogic-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.1rem;border-bottom:1px solid var(--sd-border)}.numlogic-header-actions,.numlogic-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.numlogic-pill{border:1px solid var(--sd-border);background:var(--sd-primary-soft);color:var(--sd-text);border-radius:999px;font-size:.76rem;padding:.22rem .62rem}.numlogic-generator-inline-label{font-size:.8rem;font-weight:700;color:var(--sd-muted)}.numlogic-generator-subhead{border-top:1px solid var(--sd-border);padding:.75rem 1.1rem 1rem;display:grid;gap:.35rem;color:var(--sd-muted);font-size:.9rem}.numlogic-generator-subhead p{margin:0}.numlogic-clear-banner{display:flex;align-items:center;gap:.6rem;justify-content:space-between;flex-wrap:wrap;padding:.9rem 1.1rem;border-bottom:1px solid var(--sd-border);background:linear-gradient(90deg,#0ea67838,#3b82f633)}.numlogic-clear-main{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}.numlogic-clear-banner strong{font-size:1.35rem;line-height:1.1;color:var(--sd-good)}.numlogic-clear-banner span{color:var(--sd-text);font-size:.94rem}.numlogic-clear-detail{font-weight:600}.numlogic-clear-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.numlogic-clear-actions .numlogic-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.numlogic-btn,.numlogic-input{border:1px solid var(--sd-border);background:var(--sd-surface);color:var(--sd-text);border-radius:10px;min-height:44px;padding:0 .82rem;font-size:.92rem}.numlogic-btn{cursor:pointer;transition:all .16s ease}.numlogic-btn:hover:not(:disabled){border-color:var(--sd-primary);transform:translateY(-1px)}.numlogic-btn.primary{background:var(--sd-primary);color:#fff;border-color:var(--sd-primary)}.numlogic-btn.warn{border-color:color-mix(in srgb,var(--sd-warn) 65%,var(--sd-border));color:var(--sd-warn)}.numlogic-btn:focus-visible,.numlogic-input:focus-visible,.numlogic-cell:focus-visible{outline:3px solid color-mix(in srgb,var(--sd-primary) 70%,transparent);outline-offset:2px}.numlogic-btn:disabled,.numlogic-cell:disabled{opacity:.52;cursor:not-allowed;transform:none}.numlogic-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.numlogic-toolbar-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem;border:1px solid var(--sd-border);background:color-mix(in srgb,var(--sd-surface) 80%,var(--sd-primary-soft));border-radius:10px;padding:.35rem}.numlogic-toolbar-label{font-size:.72rem;color:var(--sd-muted);font-weight:700;padding:0 .2rem}.numlogic-grid-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:1rem}.numlogic-grid{width:min(100%,600px);margin:0 auto;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:3px solid var(--sd-grid-outer-line);border-radius:10px;overflow:hidden;background:var(--sd-cell-base)}.numlogic-cell{position:relative;aspect-ratio:1 / 1;border-right:1px solid var(--sd-grid-line);border-bottom:1px solid var(--sd-grid-line);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(1.05rem,2.9vw,1.5rem);user-select:none;cursor:pointer;background:var(--sd-cell-base);color:var(--sd-text);transition:background .14s ease,box-shadow .14s ease,color .14s ease}.numlogic-cell:nth-child(9n){border-right:none}.numlogic-cell[data-col="2"],.numlogic-cell[data-col="5"]{border-right:2.5px solid var(--sd-grid-box-line)}.numlogic-cell[data-row="2"],.numlogic-cell[data-row="5"]{border-bottom:2.5px solid var(--sd-grid-box-line)}.numlogic-cell.given:not(.selected):not(.mistake):not(.hint-target):not(.same-digit):not(.related){background:var(--sd-cell-given-bg);color:var(--sd-cell-given-text);font-weight:800}.numlogic-cell.related:not(.selected):not(.mistake):not(.hint-target):not(.same-digit){background:var(--sd-cell-related-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sd-warn) 40%,transparent)}.numlogic-cell.same-digit:not(.selected):not(.mistake):not(.hint-target){background:var(--sd-cell-same-bg)}.numlogic-cell.hint-target:not(.selected):not(.mistake){background:var(--sd-cell-hint-bg);box-shadow:inset 0 0 0 2px var(--sd-cell-hint-ring)}.numlogic-cell.selected:not(.mistake){background:var(--sd-cell-selected-bg);box-shadow:inset 0 0 0 3px var(--sd-cell-selected-ring);z-index:1}.numlogic-cell.mistake{color:var(--sd-error);background:var(--sd-cell-mistake-bg);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--sd-error) 65%,transparent)}.numlogic-notes{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;font-size:clamp(.56rem,1.6vw,.72rem);color:var(--sd-muted);line-height:1}.numlogic-notes span{display:flex;align-items:center;justify-content:center;font-weight:600}.numlogic-keypad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.numlogic-keypad .numlogic-btn.digit-key{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:54px;padding:.3rem .4rem;line-height:1.1}.numlogic-key-digit{font-size:1.08rem;font-weight:800}.numlogic-key-meta{font-size:.68rem;color:var(--sd-muted)}.numlogic-btn.digit-complete{border-color:color-mix(in srgb,var(--sd-good) 55%,var(--sd-border));background:color-mix(in srgb,var(--sd-good) 15%,var(--sd-surface))}.numlogic-btn.digit-complete .numlogic-key-meta{color:var(--sd-good);font-weight:700}.numlogic-keypad-panel{background:var(--sd-surface);border:1px solid var(--sd-border);border-radius:12px;padding:.75rem}.numlogic-side-section{margin-top:.65rem}.numlogic-side-label{margin:0 0 .35rem;font-size:.8rem;color:var(--sd-muted);font-weight:700}.numlogic-setting-row{display:flex;flex-wrap:wrap;gap:.45rem}.numlogic-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-bottom:.5rem}.numlogic-status-item{border:1px solid var(--sd-border);border-radius:10px;padding:.52rem .62rem;background:linear-gradient(180deg,#ffffffb8,#e4efff75);font-size:.75rem;color:var(--sd-muted)}.numlogic-shell.dark .numlogic-status-item{background:linear-gradient(180deg,#2e43629e,#142134b8)}.numlogic-status-item strong{color:var(--sd-text);font-size:.98rem}.numlogic-digit-strip{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.35rem;margin:0 0 .75rem}.numlogic-digit-chip{border:1px solid var(--sd-border);border-radius:8px;padding:.24rem .3rem;text-align:center;font-size:.72rem;color:var(--sd-muted);background:color-mix(in srgb,var(--sd-surface) 82%,var(--sd-primary-soft))}.numlogic-digit-chip.complete{border-color:color-mix(in srgb,var(--sd-good) 58%,var(--sd-border));color:var(--sd-good);background:color-mix(in srgb,var(--sd-good) 16%,var(--sd-surface));font-weight:700}.numlogic-progress{margin-bottom:.75rem;width:100%;height:12px;border-radius:999px;border:1px solid var(--sd-border);background:#94a3b824;overflow:hidden}.numlogic-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2b7df4,#0ea5e9);transition:width .2s ease}.numlogic-msg{margin-top:.75rem;border:1px solid var(--sd-border);border-radius:10px;padding:.75rem;color:var(--sd-muted);font-size:.9rem;background:color-mix(in srgb,var(--sd-surface) 85%,var(--sd-primary-soft))}.numlogic-msg.info{border-color:color-mix(in srgb,var(--sd-primary) 35%,var(--sd-border));color:var(--sd-text)}.numlogic-msg.warning{border-color:color-mix(in srgb,var(--sd-warn) 42%,var(--sd-border));color:var(--sd-warn)}.numlogic-msg.success,.numlogic-msg.ok{border-color:color-mix(in srgb,var(--sd-good) 40%,var(--sd-border));color:var(--sd-good)}.numlogic-msg.error{border-color:color-mix(in srgb,var(--sd-error) 42%,var(--sd-border));color:var(--sd-error)}.numlogic-modal-backdrop{position:fixed;inset:0;background:#09101c8c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:30}.numlogic-modal{width:min(100%,560px);border-radius:14px;border:1px solid var(--sd-border);background:var(--sd-surface);color:var(--sd-text);box-shadow:0 18px 38px #020a1857;padding:1rem}.numlogic-modal h2{margin:0;font-size:1.18rem}.numlogic-modal-sub{margin:.35rem 0 .75rem;color:var(--sd-muted);font-size:.92rem}.numlogic-clear-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.numlogic-clear-stats div{border:1px solid var(--sd-border);border-radius:10px;padding:.55rem .6rem;background:color-mix(in srgb,var(--sd-surface) 70%,var(--sd-primary-soft))}.numlogic-clear-stats span{display:block;font-size:.74rem;color:var(--sd-muted)}.numlogic-clear-stats strong{display:block;margin-top:.16rem;font-size:1rem}.numlogic-modal-actions{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.5rem}.numlogic-modal-actions .numlogic-btn{flex:1 1 45%;text-align:center;text-decoration:none;justify-content:center;display:inline-flex;align-items:center}.numlogic-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem}.numlogic-link-grid a{text-decoration:none;border:1px solid var(--sd-border);background:var(--sd-surface);border-radius:9px;min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--sd-text);font-weight:600;font-size:.9rem}.numlogic-print-sheet{max-width:820px;margin:1rem auto;padding:1rem}.numlogic-print-layout{padding:1rem;display:grid;gap:1.2rem}.numlogic-print-block{border:1px dashed var(--sd-border);border-radius:12px;padding:.85rem;background:color-mix(in srgb,var(--sd-surface) 90%,var(--sd-primary-soft))}.numlogic-print-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;margin-bottom:.65rem}.numlogic-print-block-head h2{margin:0;font-size:1.04rem;color:var(--sd-text)}.numlogic-print-block-head p{margin:0;font-size:.8rem;color:var(--sd-muted)}.numlogic-print-info{display:none;padding:.8rem 1rem .35rem}.numlogic-print-info h1{margin:0;font-size:1.12rem}.numlogic-print-info p{margin:.28rem 0 0;color:var(--sd-muted);font-size:.87rem}@media(max-width:720px){.numlogic-grid-wrap{gap:.65rem;padding:.75rem}.numlogic-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.numlogic-digit-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.numlogic-keypad{grid-template-columns:repeat(4,minmax(0,1fr))}.numlogic-keypad-panel{position:sticky;bottom:calc(.5rem + env(safe-area-inset-bottom));z-index:5;box-shadow:0 8px 25px #0f172a38}.numlogic-header{flex-direction:column;align-items:flex-start}.numlogic-header-actions{width:100%}.numlogic-toolbar{flex-direction:column}.numlogic-toolbar-group{width:100%}.numlogic-generator-subhead{padding:.7rem .85rem .9rem}.numlogic-clear-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.numlogic-modal-actions .numlogic-btn{flex:1 1 100%}.numlogic-clear-actions{width:100%}}@media print{body>header,body>footer{display:none!important}#main-content{display:block!important}.numlogic-shell{background:#fff!important;color:#000!important;padding:0!important}.numlogic-shell:not(.printable-page) .numlogic-screen-title,.numlogic-shell:not(.printable-page) .numlogic-header,.numlogic-shell:not(.printable-page) .numlogic-side-area,.numlogic-shell:not(.printable-page) .numlogic-play-meta,.numlogic-shell:not(.printable-page) .numlogic-play-actions,.numlogic-shell:not(.printable-page) .numlogic-msg,.numlogic-shell:not(.printable-page) .numlogic-clear-banner,.numlogic-shell:not(.printable-page) .numlogic-modal-backdrop,.numlogic-shell:not(.printable-page) .numlogic-print-info,.numlogic-shell:not(.printable-page) .print-hide{display:none!important}.numlogic-shell:not(.printable-page) .numlogic-card{box-shadow:none;border:none!important}.numlogic-shell:not(.printable-page) .numlogic-grid-wrap{padding:0!important;gap:0!important}.numlogic-shell:not(.printable-page) .numlogic-board-area{margin:0!important}.numlogic-shell:not(.printable-page) .numlogic-grid{margin:0 auto!important}.numlogic-header,.numlogic-status-grid,.numlogic-progress,.numlogic-digit-strip,.numlogic-keypad-panel,.numlogic-toolbar,.numlogic-msg,.numlogic-clear-banner,.numlogic-modal-backdrop,.print-hide{display:none!important}.numlogic-card{box-shadow:none;border:none}.numlogic-grid{width:594px!important;max-width:594px!important;margin:0 auto;border:1.1mm solid #000!important;border-radius:0!important;background:#fff!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}.numlogic-cell{border-right:.42mm solid #000!important;border-bottom:.42mm solid #000!important;background:#fff!important;color:#000!important;box-shadow:none!important;font-size:5.2mm!important;font-weight:700!important;border-radius:0!important;appearance:none!important;-webkit-appearance:none!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}.numlogic-cell:nth-child(9n){border-right:none!important}.numlogic-cell[data-row="8"]{border-bottom:none!important}.numlogic-cell[data-col="2"],.numlogic-cell[data-col="5"]{border-right:1mm solid #000!important}.numlogic-cell[data-row="2"],.numlogic-cell[data-row="5"]{border-bottom:1mm solid #000!important}.numlogic-cell.given:not(.selected):not(.mistake):not(.hint-target):not(.same-digit):not(.related){background:#fff!important;color:#000!important}.numlogic-print-info{display:block!important}.numlogic-print-sheet{margin:0;padding:0;max-width:none}.numlogic-print-layout{padding:0;gap:8mm}.numlogic-print-block{border:none;border-radius:0;padding:0;background:transparent;break-inside:avoid;page-break-inside:avoid}.numlogic-print-solution{display:none!important}.numlogic-print-block-head h2{font-size:14pt}.numlogic-print-block-head p{font-size:10pt;color:#333}.numlogic-notes{display:none!important}}
