.norinori-page{padding-bottom:72px}.norinori-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:18px 0 10px;width:min(780px,calc(100% - 40px));margin:0 auto}.norinori-breadcrumbs a{color:var(--muted);text-decoration:none;transition:color .15s ease}.norinori-breadcrumbs a:hover{color:var(--ink)}.norinori-intro{text-align:center;margin-bottom:24px;width:min(780px,calc(100% - 40px));margin-left:auto;margin-right:auto}.norinori-intro .eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue, #315ee8);margin-bottom:6px}.norinori-intro h1{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.2;margin:0 0 10px}.norinori-intro p{font-size:15px;line-height:1.6;max-width:620px;margin:0 auto;color:var(--muted)}.norinori-shell{width:min(780px,calc(100% - 40px));margin:0 auto 36px;padding:18px 20px 24px;background:var(--paper, #fff);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 36px -12px #0f172a14}.norinori-header-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.norinori-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.norinori-tabs::-webkit-scrollbar{display:none}.norinori-tab-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--paper, #fff);color:var(--muted);font-size:11px;line-height:1.2;cursor:pointer;white-space:nowrap;transition:all .15s ease}.norinori-tab-btn strong{font-size:13px;font-weight:700;color:var(--ink)}.norinori-tab-btn:hover{border-color:var(--blue, #315ee8);color:var(--ink)}.norinori-tab-btn.is-active{background:var(--blue, #315ee8)!important;border-color:var(--blue, #315ee8)!important;color:#fff!important}.norinori-tab-btn.is-active strong{color:#fff!important}.norinori-tab-btn.challenge-tab{background:#315ee80d}.norinori-sound-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.norinori-sound-btn:hover{color:var(--ink);border-color:var(--ink)}.norinori-status-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.status-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.meta-badge{font-size:11px;font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:6px;background:var(--wash, #f1f4fb);color:var(--ink)}.puzzle-id-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.diff-toggle-group{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--wash, #f1f4fb)}.diff-btn{padding:4px 10px;border:none;background:transparent;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .15s ease}.diff-btn:hover{color:var(--ink)}.diff-btn.is-active{background:var(--blue, #315ee8);color:#fff!important}.status-counters{display:flex;align-items:center;gap:14px}.counter-box{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.counter-label{font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--muted)}.counter-val{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}.norinori-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar-mode-group{order:1;display:flex;align-items:center;gap:6px}.toolbar-action-group{order:2;display:flex;align-items:center;gap:6px}.toolbar-utility-group{order:3;display:flex;align-items:center;gap:6px}.tool-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:1px solid var(--line);background:var(--paper, #fff);color:var(--ink);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease}.tool-btn:hover{border-color:var(--blue, #315ee8)}.tool-btn.is-active{background:var(--blue, #315ee8)!important;border-color:var(--blue, #315ee8)!important;color:#fff!important}.tool-action-btn,.tool-utility-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:8px;border:1px solid var(--line);background:var(--paper, #fff);color:var(--ink);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.tool-action-btn:hover,.tool-utility-btn:hover{border-color:var(--blue, #315ee8);background:var(--wash, #f1f4fb)}.tool-action-btn:disabled{opacity:.35;cursor:not-allowed;border-color:var(--line)}.primary-action-btn{background:var(--blue, #315ee8);border-color:var(--blue, #315ee8);color:#fff!important}.primary-action-btn:hover{background:#254edb;border-color:#254edb}.popover-wrapper{position:relative}.norinori-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:50;min-width:250px;background:var(--paper, #fff);border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:0 16px 40px -10px #0003}.popover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;color:var(--ink)}.popover-close-btn{border:none;background:transparent;font-size:20px;color:var(--muted);cursor:pointer;padding:0 4px;line-height:1}.zoom-controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.zoom-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--wash, #f1f4fb);color:var(--ink);font-size:12px;font-weight:600;cursor:pointer}.zoom-btn:hover{border-color:var(--blue, #315ee8);background:var(--line)}.zoom-btn.full-width{grid-column:1 / -1}.settings-list{display:flex;flex-direction:column;gap:12px}.setting-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;cursor:pointer}.setting-info{display:flex;flex-direction:column;gap:2px;font-size:12px}.setting-info strong{color:var(--ink)}.setting-desc{font-size:10px;color:var(--muted);line-height:1.3}.setting-item input[type=checkbox]{margin-top:3px;cursor:pointer;accent-color:var(--blue, #315ee8);width:16px;height:16px}.setting-actions{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line);margin-top:4px}.popover-link-btn{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--blue, #315ee8);font-size:11px;font-weight:600;cursor:pointer;padding:4px 0}.popover-link-btn.reset-link{color:var(--muted)}.popover-link-btn:hover{text-decoration:underline}.norinori-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:12px 0 16px;border-radius:8px;background:var(--wash, #f1f4fb);color:var(--ink);font-size:12px;line-height:1.4}.banner-icon{display:flex;align-items:center;color:var(--blue, #315ee8);flex-shrink:0}.norinori-board-outer{position:relative;width:100%;margin:8px 0 16px;padding:12px 0;background:var(--wash, #f1f4fb);border-radius:12px;display:flex;justify-content:center}.norinori-board-scroll-area{width:100%;overflow:auto;padding:10px;display:flex;justify-content:center;-webkit-overflow-scrolling:touch}.norinori-grid-container{--cell-size: 42px;display:inline-block}.norinori-grid{display:grid;grid-template-columns:repeat(var(--grid-size, 6),var(--cell-size));grid-template-rows:repeat(var(--grid-size, 6),var(--cell-size));width:fit-content;border:3px solid #0f172a;background:#fff;box-shadow:0 8px 24px -6px #0000001f;user-select:none;-webkit-user-select:none;touch-action:none;outline:none}.norinori-cell{width:var(--cell-size);height:var(--cell-size);box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;cursor:pointer;transition:background-color .1s ease}.norinori-cell.reg-border-top{border-top:3px solid #0f172a!important}.norinori-cell.reg-border-bottom{border-bottom:3px solid #0f172a!important}.norinori-cell.reg-border-left{border-left:3px solid #0f172a!important}.norinori-cell.reg-border-right{border-right:3px solid #0f172a!important}.norinori-cell.is-shaded{background:#1e293b!important}.norinori-cell .dot-mark{display:none;width:8px;height:8px;border-radius:50%;background:var(--muted);pointer-events:none}.norinori-cell.is-dot .dot-mark{display:block}.norinori-cell.is-focused:after{content:"";position:absolute;inset:2px;border:2px solid var(--blue, #315ee8);pointer-events:none;border-radius:2px}.norinori-cell.is-region-hover{background-color:#eff6ff}.norinori-cell.is-shaded.is-region-hover{background-color:#0f172a!important}.norinori-cell.is-error{background-color:#fee2e2!important}.norinori-cell.is-shaded.is-error{background-color:#dc2626!important}html[data-theme=dark] .norinori-shell{background:#151f3d;border-color:#293858}html[data-theme=dark] .norinori-board-outer{background:#0b132b}html[data-theme=dark] .norinori-grid{border-color:#8ea8ff;background:#111b36}html[data-theme=dark] .norinori-cell{background:#111b36;border-color:#1e2c4f}html[data-theme=dark] .norinori-cell.reg-border-top{border-top:3px solid #8ea8ff!important}html[data-theme=dark] .norinori-cell.reg-border-bottom{border-bottom:3px solid #8ea8ff!important}html[data-theme=dark] .norinori-cell.reg-border-left{border-left:3px solid #8ea8ff!important}html[data-theme=dark] .norinori-cell.reg-border-right{border-right:3px solid #8ea8ff!important}html[data-theme=dark] .norinori-cell.is-shaded{background:#3b82f6!important}html[data-theme=dark] .norinori-cell.is-region-hover{background-color:#1a2850}html[data-theme=dark] .norinori-cell.is-shaded.is-region-hover{background-color:#60a5fa!important}html[data-theme=dark] .norinori-cell.is-error{background-color:#450a0a!important}html[data-theme=dark] .norinori-cell.is-shaded.is-error{background-color:#ef4444!important}html[data-theme=dark] .shaded-swatch{background:#3b82f6;border-color:#3b82f6}html[data-theme=dark] .thick-border-swatch{border-color:#8ea8ff}html[data-theme=dark] .norinori-popover,html[data-theme=dark] .modal-card{background:#151f3d;border-color:#293858}.norinori-legend-bar{display:flex;align-items:center;justify-content:center;gap:20px;padding-top:10px;font-size:12px;color:var(--muted);flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:7px}.legend-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid var(--line)}.shaded-swatch{background:#1e293b;border-color:#1e293b}.dot-swatch{position:relative;background:var(--paper, #fff)}.dot-swatch:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--muted)}.thick-border-swatch{border:2px solid #0f172a;background:transparent}.norinori-modal{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:20px}.norinori-modal[hidden]{display:none!important}.modal-backdrop{position:absolute;inset:0;background:#0b132ba6;backdrop-filter:blur(4px)}.modal-card{position:relative;z-index:10;width:min(440px,100%);background:var(--paper, #ffffff);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 24px 48px -12px #00000059}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.modal-header h3{margin:0;font-size:18px;color:var(--ink)}.modal-close-icon-btn{border:none;background:transparent;font-size:22px;line-height:1;color:var(--muted);cursor:pointer}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}.shortcut-row kbd{display:inline-block;padding:3px 7px;border-radius:6px;border:1px solid var(--line);background:var(--wash, #f1f4fb);color:var(--ink);font-size:11px;font-family:inherit;font-weight:700}.modal-footer{display:flex;justify-content:flex-end;margin-top:20px}.victory-card{text-align:center}.victory-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#315ee81a;color:var(--blue, #315ee8);margin:0 auto 12px}.victory-card h2{font-size:26px;line-height:1.2;margin:0 0 6px;color:var(--ink)}.victory-subtitle{font-size:14px;margin:0 0 20px;color:var(--muted)}.modal-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.modal-stat-box{display:flex;flex-direction:column;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--wash, #f1f4fb)}.modal-stat-box .stat-label{font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--muted)}.modal-stat-box .stat-val{font-size:16px;font-weight:800;color:var(--ink)}.modal-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.modal-actions .btn{padding:9px 18px;font-size:13px;font-weight:700;border-radius:8px;border:1px solid var(--line);background:var(--wash, #f1f4fb);color:var(--ink);cursor:pointer}.modal-actions .btn:hover{border-color:var(--blue, #315ee8)}.modal-actions .btn-primary{background:var(--blue, #315ee8);border-color:var(--blue, #315ee8);color:#fff!important}.modal-actions .btn-primary:hover{background:#254edb;border-color:#254edb}.norinori-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1000;padding:10px 20px;background:var(--ink);color:var(--paper, #fff);font-size:13px;font-weight:700;border-radius:999px;box-shadow:0 10px 25px -5px #0000004d}.norinori-article{width:min(780px,calc(100% - 40px));margin:68px auto 48px;font-size:16px;line-height:1.72;text-align:left}.norinori-article h2{font-size:24px;line-height:1.25;letter-spacing:-.025em;margin:36px 0 12px;text-align:left}.norinori-article h2:first-child{margin-top:0}.norinori-article h3{font-size:18px;line-height:1.3;letter-spacing:-.02em;margin:26px 0 10px;text-align:left}.norinori-article p{margin:0 0 16px}.related-games-section{padding:56px 0 36px;border-top:1px solid var(--line);margin-top:48px;width:min(780px,calc(100% - 40px));margin-left:auto;margin-right:auto}.related-games-head{max-width:620px;margin:0 auto 36px;text-align:center}.related-games-head .eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue, #315ee8);margin-bottom:4px;display:block}.related-games-head h2{font-size:clamp(1.8rem,3.2vw,2.4rem);margin:10px 0 12px;letter-spacing:-.03em}.related-games-head p{font-size:15px;line-height:1.65;margin:0 auto;color:var(--muted)}.related-games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.related-card{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:var(--paper, #fff);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.related-card:hover{transform:translateY(-3px);border-color:#cfd8ef;box-shadow:0 14px 34px #17233b14}.related-visual{height:170px;position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#eaf0ff,#f6f3ff);overflow:hidden}.related-orbit{position:absolute;width:140px;height:140px;border:1px dashed #cad5fa;border-radius:50%}.related-icon{position:relative;z-index:1;display:grid;gap:6px;grid-template-columns:repeat(2,42px)}.related-icon span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#315ee8;box-shadow:0 4px 12px #17233b14}.slide-icon span{font-size:16px;font-weight:800}.slide-icon .slide-empty{background:transparent;border:2px dashed #b9c8f5;box-shadow:none}.slide-icon span:nth-child(1){background:#315ee8;color:#fff}.slide-icon span:nth-child(2){background:#edf2ff;color:#315ee8}.slide-icon span:nth-child(3){background:#eaf7f2;color:#16825d}.reaction-icon span:nth-child(1){background:#fef08a;color:#a16207}.reaction-icon span:nth-child(2){background:#315ee8;color:#fff}.reaction-icon span:nth-child(3){background:#dcfce7;color:#15803d}.reaction-icon span:nth-child(4){background:#fee2e2;color:#b91c1c}.memory-icon span:nth-child(1){background:#ede9fe;color:#7c3aed}.memory-icon span:nth-child(2){background:#315ee8;color:#fff}.memory-icon span:nth-child(3){background:#fef08a;color:#a16207}.memory-icon span:nth-child(4){background:#dcfce7;color:#15803d}.related-card-body{padding:18px;display:flex;flex-direction:column;flex:1}.related-labels{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:2px}.related-labels .pill{font-size:9px;letter-spacing:.04em;padding:2px 7px;border-radius:999px;font-weight:700;text-transform:uppercase;background:var(--line);color:var(--ink)}.difficulty-label{font-size:10px;color:var(--muted)}.related-card h3{font-size:17px;margin:0 0 8px;letter-spacing:-.02em;color:var(--ink);font-weight:700}.related-card p{font-size:13px;line-height:1.6;margin:0 0 14px;flex:1;color:var(--muted)}.related-play{font-size:13px;font-weight:700;color:var(--blue, #315ee8);display:inline-flex;align-items:center;gap:4px;margin-top:auto}html[data-theme=dark] .related-card{background:#151f3d;border-color:#293858;box-shadow:0 10px 24px #03081759}html[data-theme=dark] .related-card:hover{border-color:#52678f;box-shadow:0 16px 38px #03081799}html[data-theme=dark] .related-visual{background:linear-gradient(145deg,#1b294b,#222345)}html[data-theme=dark] .related-orbit{border-color:#35466c}html[data-theme=dark] .related-icon span{background:#263553;color:#c2d0ff;box-shadow:0 8px 20px #03081759}html[data-theme=dark] .slide-icon span:nth-child(1){background:#8ea8ff;color:#0b132b}html[data-theme=dark] .slide-icon span:nth-child(2){background:#1b294b;color:#c2d0ff}html[data-theme=dark] .slide-icon span:nth-child(3){background:#173c43;color:#7be0ba}html[data-theme=dark] .slide-icon .slide-empty{border-color:#35466c}html[data-theme=dark] .reaction-icon span:nth-child(1){background:#713f12;color:#fef08a}html[data-theme=dark] .reaction-icon span:nth-child(2){background:#8ea8ff;color:#0b132b}html[data-theme=dark] .reaction-icon span:nth-child(3){background:#14532d;color:#86efac}html[data-theme=dark] .reaction-icon span:nth-child(4){background:#7f1d1d;color:#fca5a5}html[data-theme=dark] .memory-icon span:nth-child(1){background:#3b1e75;color:#c4b5fd}html[data-theme=dark] .memory-icon span:nth-child(2){background:#8ea8ff;color:#0b132b}html[data-theme=dark] .memory-icon span:nth-child(3){background:#713f12;color:#fef08a}html[data-theme=dark] .memory-icon span:nth-child(4){background:#14532d;color:#86efac}@media(max-width:900px){.related-games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media(max-width:560px){.related-games-grid{grid-template-columns:1fr;gap:16px}.related-card{display:grid;grid-template-columns:110px minmax(0,1fr);min-height:150px}.related-visual{height:auto;min-height:150px}.related-orbit{width:96px;height:96px}.related-icon span{width:32px;height:32px;font-size:14px}.related-card-body{padding:14px 12px}.related-card h3{font-size:15px;margin:6px 0 4px}.related-card p{font-size:12px;line-height:1.5;margin-bottom:8px}.related-play{font-size:12px}}@media(max-width:640px){.norinori-shell{padding:14px 14px 20px}.norinori-intro h1{font-size:26px}.norinori-article h2{font-size:21px;margin-top:28px}.norinori-article h3{font-size:17px}.norinori-header-bar{flex-direction:column;align-items:stretch;gap:10px}.norinori-sound-btn{align-self:flex-start}.toolbar-mode-group{order:1}.toolbar-utility-group{order:2}.toolbar-action-group{order:3;overflow-x:auto;width:100%;padding-bottom:4px;margin-top:4px;scrollbar-width:none}.toolbar-action-group::-webkit-scrollbar{display:none}}
