@import"https://fonts.googleapis.com/css2?family=Cormorant+SC:wght@600;700&display=swap";html{height:100%;background:linear-gradient(180deg,#160f0a,#0b0705)}:root{--bg-1: #15110e;--bg-2: #261a12;--panel: rgba(32, 22, 15, .88);--panel-edge: rgba(255, 222, 173, .14);--panel-base: rgb(17, 12, 9);--button-primary-base: rgb(66, 50, 30);--button-secondary-base: rgb(22, 16, 11);--surface-wood-grain: url(/assets/textures/surface-wood-grain.png);--surface-panel: url(/assets/textures/surface-panel.png);--surface-wood: url(/assets/textures/surface-wood.png);--surface-texture-size: 24rem 12rem;--surface-panel-texture-size: 72rem 30rem;--divider: rgba(227, 167, 77, .18);--accent-bright: #f6cb84;--wood-plaque: #1a130c;--wood-plaque-primary: #3a2b19;--plaque-highlight: rgba(255, 238, 205, .16);--plaque-bevel: inset 0 1.5px 0 var(--plaque-highlight), inset 0 -12px 18px -11px rgba(0, 0, 0, .8), inset 0 2px 4px -2px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(0, 0, 0, .4);--plate: linear-gradient(180deg, #a89c80 0%, #7f735b 48%, #5d513f 100%);--hole: #201812;--accent: #e3a74d;--accent-soft: rgba(227, 167, 77, .18);--text: #f4ead8;--muted: #cfbea7;--shadow: 0 24px 60px rgba(0, 0, 0, .35);--link-same: #e3a74d;--link-opposite: #8dc6d6;--link-known: #b7d98d;--app-panel-height: calc(100dvh - 1.3rem - env(safe-area-inset-bottom, 0px)) ;--app-viewport-height: 100dvh;--app-layout-viewport-height: 100dvh;--stage-height: clamp(17rem, 45vh, 24rem);--plate-width: clamp(2.8rem, 10vw, 4.6rem);--hole-size: clamp(.52rem, 1.7vw, .78rem);--hole-gap: clamp(.62rem, 1.45vh, .94rem);--plate-padding-x: 1.28rem;--plate-padding-y: .8rem;--travel-steps: 3;--plate-body-height: calc((7 * var(--hole-size)) + (6 * var(--hole-gap)) + (2 * var(--plate-padding-x)));--travel-distance: calc(var(--travel-steps) * (var(--hole-size) + var(--hole-gap)));--plate-overflow-space: max(0px, calc(var(--travel-distance) - ((var(--stage-height) - var(--plate-body-height)) / 2)));--plate-lane-length: clamp(15rem, 54vw, 24rem);--plate-lane-height: max(clamp(3.15rem, 9vw, 4.7rem), calc(var(--plate-body-thickness) + .62rem));--plate-body-width: calc((7 * var(--hole-size)) + (6 * var(--hole-gap)) + (2 * var(--plate-padding-x)));--plate-body-thickness: clamp(2.45rem, 6vw, 3.15rem);--plate-status-width: 1.7rem;--plate-side-gap: clamp(.7rem, 1.8vw, 1rem);--plate-track-width: calc(var(--plate-body-width) + (2 * var(--travel-distance)) + .9rem)}*{box-sizing:border-box}html.is-windows,html.is-windows *{scrollbar-width:thin;scrollbar-color:#8b633d #1b1511}html.is-windows::-webkit-scrollbar,html.is-windows *::-webkit-scrollbar{width:.72rem;height:.72rem}html.is-windows::-webkit-scrollbar-track,html.is-windows *::-webkit-scrollbar-track{background:#1b1511;border-left:1px solid rgba(246,203,132,.12)}html.is-windows::-webkit-scrollbar-thumb,html.is-windows *::-webkit-scrollbar-thumb{min-height:2.5rem;border:2px solid #1b1511;border-radius:999px;background:linear-gradient(180deg,#a77b4d,#705033);box-shadow:inset 0 0 0 1px #f6cb8438}html.is-windows::-webkit-scrollbar-thumb:hover,html.is-windows *::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#c09562,#86603c)}html.is-windows::-webkit-scrollbar-corner,html.is-windows *::-webkit-scrollbar-corner{background:#1b1511}[hidden]{display:none!important}body{margin:0;min-height:100vh;min-height:100svh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;font-family:Cormorant SC,Georgia,Times New Roman,serif;color:var(--text);background:linear-gradient(180deg,#160f0a,#0b0705)}.modal-note,.site-lede,.site-section p,.site-section dd,.site-feature-list,.saved-lock-description,.saved-lock-description--search-result,.solution-empty-copy,.solution-step-instruction,.controls-copy,.site-page-body .site-section p,.site-page-body .site-section dd,.site-page-body .site-feature-list{font-family:Georgia,Times New Roman,serif}.hero-title,.controls-title,.controls-heading,.modal-title,.site-title,.site-kicker,.site-page-heading .site-title,.saved-lock-name,.saved-lock-section-title,.saved-lock-menu-item,.action-button,.hero-back,.hero-menu-toggle,.hero-filter-button,.solution-nav-button{font-family:Cormorant SC,Georgia,Times New Roman,serif}button{font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-appearance:none;-moz-appearance:none;appearance:none}button.is-touch-pressed{transform:translateY(1px) scale(.985)}.app-shell{min-height:100vh;min-height:100svh;min-height:100dvh;display:flex;justify-content:center;align-items:flex-start;padding:.65rem .65rem calc(.65rem + env(safe-area-inset-bottom,0px));overflow-x:hidden}.panel{width:min(72rem,100%);min-height:var(--app-panel-height);background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100% 100%;border:1px solid rgba(255,222,173,.1);border-radius:.15rem;box-shadow:var(--shadow);padding:.75rem .85rem .85rem;-webkit-backdrop-filter:none;backdrop-filter:none;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:.65rem;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.panel::-webkit-scrollbar{display:none}@media (min-width: 900px){:root{--app-panel-height: 100dvh}.app-shell{padding:0}.panel{width:100%;min-height:100dvh;border:0;border-radius:0;box-shadow:none;padding:.85rem 1.15rem .95rem}}body.is-menu-mode .app-shell{padding:0}body:not(.is-menu-mode){overflow:hidden}body.is-menu-mode .panel{width:100%;min-height:100vh;min-height:100dvh;border:0;border-radius:0;box-shadow:none;padding:calc(clamp(1.25rem,4vh,2.75rem) + env(safe-area-inset-top,0px)) 1.25rem calc(1.1rem + env(safe-area-inset-bottom,0px))}.hero{position:relative;padding:.25rem 2.4rem .45rem;text-align:center;min-height:2rem;display:flex;align-items:center;justify-content:center}.app-screen-header-content{min-width:0}body:not(.is-menu-mode) .app-screen-header{--app-screen-header-bottom-inset: .25rem;--app-screen-header-action-bottom-inset: .5rem;height:3.5rem;min-height:3.5rem;padding-top:0;padding-bottom:calc(var(--app-screen-header-bottom-inset) - 1px);box-sizing:border-box;align-items:flex-end;border-bottom:1px solid var(--divider)}.app-screen-header .app-screen-header-back{width:3rem;height:3rem}body:not(.is-menu-mode) .app-screen-header .app-screen-header-back{top:calc(50% + .5px);bottom:auto;transform:translateY(-50%)}body:not(.is-menu-mode) .app-screen-header>.app-screen-header-content{min-height:3rem;display:flex;align-items:center;justify-content:center}.app-screen-header-actions{display:contents}body:not(.is-menu-mode) .app-screen-header .hero-menu-wrap{top:calc(50% + .5px);bottom:auto;transform:translateY(-50%)}.hero--search-solutions{--app-screen-header-back-inset: .75rem;flex-direction:row;align-items:center;justify-content:flex-start;gap:.65rem;padding-left:3.25rem;padding-right:.25rem}.hero--search-solutions .hero-back{position:absolute;left:var(--app-screen-header-back-inset, 0px);top:calc(50% + .5px);transform:translateY(-50%)}.hero--search-solutions .app-screen-header-content{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:.65rem}.hero--search-solutions .hero-back.is-touch-pressed{transform:translateY(-50%)}.hero-search-wrap{position:relative;flex:1 1 auto;min-width:0}.hero-lock-map-search-field .search-field-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.hero-search-clear{position:absolute;top:50%;right:.45rem;width:2rem;height:2rem;padding:0;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:50%;background:transparent;color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.75));cursor:pointer}.hero-search-clear:hover,.hero-search-clear:focus-visible{background:transparent;color:#fff}.hero-search-wrap:has(.hero-search-clear) .hero-search-input,.hero-search-wrap:has(.hero-search-clear) .search-field-input{padding-right:2.65rem}.plate-setup-layout{position:relative;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.65rem}.panel>.plate-setup-layout{grid-row:2 / -1}body.is-setup-mode .panel:not(.panel--lock-map-workspace){grid-template-rows:auto minmax(0,1fr);overflow:hidden}.plate-setup-controls{display:grid;gap:.65rem}.setup-actions--layout-placeholder{visibility:hidden;pointer-events:none}.plate-setup-bottom-slot{position:relative;min-width:0}.hero-search-wrap>.search-field{flex:1 1 auto;min-width:0}.app-screen-header .hero-search-wrap>.search-field,.app-screen-header .search-field-control{height:100%}.hero-filter-wrap--catalog{flex:0 0 auto}.hero-filter-button.is-active{border-color:#e3a74d73;background-color:transparent;color:#f6dfb2}.hero-filter-button{width:auto;min-width:var(--solution-control-size, 2.5rem);padding:0 .75rem;display:inline-flex;gap:.45rem;border:1px solid rgba(244,234,216,.12);border-radius:.15rem;background-color:transparent;background-image:none;color:var(--text);box-shadow:none}.hero-filter-button-label{max-width:11rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1}.catalog-filter-menu{min-width:min(18rem,calc(100vw - 1.3rem));max-height:min(22rem,calc(100dvh - 7rem));overflow-y:auto}.catalog-filter-menu .saved-lock-menu-item{width:100%}@media (max-width: 640px){.hero-filter-button{width:var(--solution-control-size, 2.5rem);padding:0;display:grid;place-items:center;gap:0}.hero-filter-button-label{display:none}}.hero-search-input{width:100%;min-height:2.6rem;padding-left:.9rem;padding-right:.9rem;border-radius:.15rem}.hero-title{color:#f4ead899;margin:0;font-size:.62rem;letter-spacing:.1em;text-transform:none;line-height:1.05;white-space:nowrap;display:block;flex:1 1 auto;min-width:0;max-width:calc(100vw - 7.4rem)}body:not(.is-menu-mode) .app-screen-header .app-screen-header-title:not(.hero-title--solution){margin:0;color:#f4ead8d1;font-size:1rem;font-weight:400;line-height:1.05;letter-spacing:.04em;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.is-menu-mode .hero-title--menu{color:var(--text);white-space:normal;display:grid;gap:.16rem;justify-items:center}body.is-menu-mode .hero-title-image{display:block;width:min(25rem,76vw);height:auto;max-width:100%;margin-top:.7rem;filter:drop-shadow(0 .35rem .7rem rgba(0,0,0,.22));opacity:0;visibility:hidden;transition:opacity .12s ease}body.is-menu-mode .hero-title-image.is-loaded{opacity:1;visibility:visible}body.is-menu-mode .hero-title-divider{position:relative;display:block;width:100%;height:1px;border-top:0;margin-top:.9rem;margin-bottom:.55rem;background:linear-gradient(90deg,transparent,var(--accent) 50%,transparent);opacity:.55}body.is-menu-mode .hero-title-divider:after{content:"";position:absolute;top:50%;left:50%;width:.34rem;height:.34rem;transform:translate(-50%,-50%);border-radius:50%;background:var(--accent);box-shadow:0 0 6px #e3a74dbf}body.is-menu-mode .hero-title-subtitle-wrap{display:inline-grid;justify-items:center;width:max-content}body.is-menu-mode .hero-title--menu .hero-title-line--subtitle{display:block;color:#f4ead88f;font-size:.8em;letter-spacing:.05em}.hero-title-line{display:inline}.hero-title-line--accent{font-size:1em;color:#f4ead8d1}.hero-back{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border:0;border-radius:.15rem;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}.hero-back:before{content:"";position:absolute;top:.5rem;right:.5rem;bottom:.5rem;left:.5rem;border-radius:.15rem}.hero-back span,.lock-map-sidebar-back-icon{width:.6rem;height:.6rem;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.hero-back:hover,.hero-back:focus-visible{color:var(--text);background:transparent;outline:none}.hero-back.is-touch-pressed,.hero-search-clear.is-touch-pressed{transform:translateY(-50%)}.app-version{flex:0 0 auto;align-self:baseline;justify-self:end;color:#f4ead89e;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background:none;border:none;margin:0;padding:0;font-family:inherit;cursor:default}.app-version--developer{min-height:2rem;padding:.35rem .6rem;border:1px solid rgba(227,167,77,.62);border-radius:.2rem;color:#ffdd9ff2;background:#e3a74d1a;cursor:pointer;transition:color .14s ease,border-color .14s ease,background-color .14s ease}.app-version--developer:hover,.app-version--developer:focus-visible{color:var(--text);border-color:var(--accent);background:#e3a74d33;outline:none}.hero-menu-wrap{position:absolute;top:50%;right:0;transform:translateY(-50%);z-index:1000;pointer-events:auto}.hero-menu-wrap--load{left:0;display:flex;align-items:center;justify-content:flex-end;gap:.35rem;pointer-events:none}.hero-menu-wrap--load>*{pointer-events:auto}.hero-load-search{display:flex;align-items:center;position:absolute;left:50%;width:min(42rem,calc(100% - 8rem));transform:translate(-50%);min-width:0;color:var(--muted)}.hero-load-search>.material-icon{position:absolute;left:.7rem;width:1rem;height:1rem;pointer-events:none}.hero-load-search-input{width:100%;min-height:2.35rem;padding:.45rem .7rem .45rem 2.05rem;border:1px solid rgba(244,234,216,.16);border-radius:.15rem;outline:none;background:#0c08066b;color:var(--text);font:inherit;font-size:.86rem}.hero-load-search-input::placeholder{color:#f4ead894}.hero-load-search-input:focus{border-color:#e3a74d8c;box-shadow:0 0 0 2px #e3a74d1f}.hero--load .hero-title{display:none}@media (max-width: 640px){.hero-load-search{left:3rem;right:5.35rem;width:auto;transform:none}}.hero-menu-wrap--screen-actions{display:flex;align-items:center;gap:.15rem}.hero-menu-wrap--screen-actions .solution-toggle-icon:disabled{color:#f4ead847;cursor:default}.hero-filter-wrap{position:relative}.hero-menu{min-width:11.5rem;right:0}.controls-card{padding:.8rem 0 0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.55rem;position:relative;border-top:1px solid var(--divider);background-color:transparent;background-image:none}.app-screen-header+.controls-card,.app-screen-header+.plate-setup-layout>.plate-setup-controls>.controls-card:first-child{border-top:0}body.is-menu-mode .controls-card{border-top:0}.controls-card--load-screen{padding-top:.4rem;padding-bottom:0rem;align-content:start;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.saved-locks-dialog{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.load-screen-search{display:flex;align-items:center;gap:.6rem;padding-bottom:.3rem}.load-screen-search-field{position:relative;flex:1 1 auto;display:flex;align-items:center}.load-screen-search-input{padding-left:.85rem;padding-right:.85rem}.load-screen-search-clear{border:0;width:1.9rem;height:1.9rem;border-radius:.15rem;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.load-screen-search-clear:hover,.load-screen-search-clear:focus-visible{color:var(--text);background:#ffffff0d;outline:none}.load-screen-search-clear .material-icon{width:1rem;height:1rem}.controls-card--import-screen{padding-top:.95rem;align-content:start;min-height:0;width:100%}.controls-card--import-screen .modal-form-stack{width:min(44rem,100%);margin-inline:auto}.controls-heading{display:flex;justify-content:center;align-items:center}.import-notation-actions{display:flex;justify-content:center;align-items:center;gap:.55rem;flex-wrap:nowrap}.import-notation-actions .action-button{flex:1 1 0;width:auto;min-width:0;max-width:none}.import-locks-upload-area{display:grid;gap:.45rem;min-height:5.2rem;align-content:start}.import-locks-upload-button{width:100%;max-width:none;min-height:3.1rem;padding-inline:1rem}.import-locks-form-label{color:var(--muted);font-size:.95rem;line-height:1.45}@media (min-width: 721px){.import-locks-upload-area{justify-self:center;width:min(20rem,100%)}.import-locks-upload-button{width:100%}.import-locks-form-label{display:block;text-align:center}}.controls-title{margin:0;font-size:.82rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.controls-title.is-solution{font-size:1rem;letter-spacing:.12em;color:var(--text);text-transform:none}.controls-step{display:none}.controls-copy{margin:0;font-size:.95rem;line-height:1.45;text-align:center}.setup-match-select-wrap{position:relative;display:block;width:100%}.setup-match-select-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}.setup-match-select{display:none}.setup-match-select-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;min-height:2.8rem;border-radius:1rem;border:1px solid rgba(227,167,77,.42);background-color:var(--button-primary-base);background-image:var(--surface-wood);background-repeat:no-repeat;background-size:100% 100%;box-shadow:0 8px 18px #0000002e;overflow:hidden;color:var(--text);cursor:pointer;font:inherit;text-align:left;padding:.88rem 3.4rem .88rem 1.05rem;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.setup-match-select-trigger:hover,.setup-match-select-trigger:focus-visible,.setup-match-select-wrap:focus-within .setup-match-select-trigger{transform:translateY(-1px);border-color:#e3a74d9e;background-color:#4c3a23;box-shadow:0 10px 22px #00000038;outline:none}.setup-match-select-trigger:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff08}.setup-match-select-trigger-label{flex:1 1 auto;min-width:0;padding-right:.75rem;font-size:1rem;line-height:1.2;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-match-select-chevron{position:absolute;top:50%;right:1rem;transform:translateY(-50%) rotate(90deg);color:#f4ead8b8;pointer-events:none;display:grid;place-items:center}.setup-match-select-chevron .material-icon{width:1.15rem;height:1.15rem}.setup-match-select-chevron .material-icon svg{fill:currentColor}.setup-match-options{position:absolute;left:0;right:0;bottom:calc(100% + .45rem);z-index:30;display:grid;gap:0;padding:.35rem 0;border-radius:1rem;border:1px solid rgba(227,167,77,.4);background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100% 100%;box-shadow:0 18px 40px #0000006b;max-height:min(52vh,24rem);overflow:auto;-webkit-overflow-scrolling:touch}.setup-match-option{display:flex;align-items:center;width:100%;min-height:3.4rem;padding:.82rem 1rem;border:0;border-radius:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.setup-match-option+.setup-match-option{border-top:1px solid rgba(255,255,255,.08)}.setup-match-option:hover,.setup-match-option:focus-visible,.setup-match-option.is-selected{outline:none;background:#e3a74d1f}.setup-match-option-title{flex:1 1 auto;min-width:0;font-size:.98rem;line-height:1.2}@media (max-width: 640px){.setup-match-select{min-height:2.8rem;padding:1rem 3.5rem 1rem 1.05rem}.setup-match-select-chevron{right:1.05rem}.setup-match-options{bottom:calc(100% + .5rem);padding:.35rem 0;max-height:min(44vh,20rem)}.setup-match-option{min-height:3.85rem;padding:.95rem 1rem}.setup-match-option-title{font-size:1rem}.setup-match-pair-button{min-height:2.8rem}.setup-match-button-label-main{font-size:.95rem}.setup-match-button-label-subtitle{font-size:.72rem}}.screen-action-bar.footer-actions[data-count="2"]{flex-wrap:nowrap;margin-top:auto;padding-top:.7rem;width:100%}.screen-action-bar.footer-actions[data-count="2"] .action-button{min-width:0;flex:1 1 0;min-height:3.8rem;display:flex;flex-direction:column;justify-content:center}.screen-action-bar.footer-actions[data-count="2"] .action-button,.screen-action-bar.footer-actions[data-count="2"] .action-button-row{white-space:normal}.screen-action-bar.footer-actions[data-count="2"] .action-button-row{max-width:100%}.setup-match-button-label{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;width:100%;line-height:1.06;text-align:center;white-space:normal}.setup-match-button-label-main,.setup-match-button-label-subtitle{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-match-button-label-main{font-size:.98rem}.setup-match-button-label-subtitle{margin-top:.12rem;font-size:.78rem;line-height:1.05;opacity:1}.setup-match-heading-stack{display:flex;align-items:center;gap:.45rem;justify-items:center;white-space:nowrap}.setup-match-heading{width:100%;position:relative;justify-content:center;align-items:center;min-height:1.9rem}.setup-match-note{color:var(--muted);font-size:.76rem;line-height:1.1;opacity:.8}.setup-match-row{display:flex;align-items:flex-start;gap:.4rem}.setup-match-main{flex:1 1 auto;min-width:0;display:grid;gap:.42rem}.setup-match-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.setup-match-pair-button{min-width:0;width:100%;min-height:2.8rem;max-width:none;display:flex;flex-direction:column;justify-content:center}.setup-match-pair-button .action-button-row{width:100%;justify-content:flex-start}.setup-match-pair-button .action-button-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.setup-match-main .action-button{width:100%;max-width:none;min-width:0;min-height:2.8rem}.setup-match-select{width:100%;min-width:0;max-width:none;min-height:2.8rem}.setup-match-dismiss.action-button{position:absolute;right:-.45rem;top:50%;transform:translateY(-50%);width:2.8rem;min-width:2.8rem;max-width:2.8rem;height:2.8rem;padding:0;border:0!important;border-radius:0;background:transparent!important;color:var(--muted);box-shadow:none!important;outline:0}.setup-match-dismiss.action-button:hover,.setup-match-dismiss.action-button:focus-visible{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--text);transform:translateY(-50%);outline:0}.setup-match-dismiss.action-button .material-icon{width:1.15rem;height:1.15rem}.setup-match-card{position:fixed;left:0;right:0;width:min(100%,36rem);max-width:36rem;margin-inline:auto;bottom:1.15rem;z-index:24;overflow:visible;background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100% 100%;border:1px solid rgba(255,255,255,.08);border-radius:1rem;box-shadow:0 18px 40px #00000052;padding:.08rem .85rem .72rem;opacity:0;transform:translateY(calc(100dvh + 1rem));pointer-events:none;will-change:transform,opacity}.setup-match-card.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.setup-match-card.is-entering{pointer-events:auto;animation:setupMatchSlideIn .3s cubic-bezier(.2,.9,.2,1) both}.setup-match-card.is-leaving{pointer-events:none;animation:setupMatchSlideOut .4s cubic-bezier(.32,0,.67,0) both}@keyframes setupMatchSlideIn{0%{opacity:0;transform:translateY(calc(100dvh + 1rem))}to{opacity:1;transform:translateY(0)}}@keyframes setupMatchSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(calc(100dvh + 1rem))}}.setup-match-card--map-sidebar{position:absolute;top:auto;right:0;bottom:0;left:0;z-index:5;width:auto;max-width:none;min-height:0;margin:0;padding:0 .65rem .45rem;border-radius:.45rem;box-shadow:0 -.35rem .9rem #00000038;transform:translateY(.5rem)}.setup-match-card--map-sidebar .setup-match-heading{min-height:1.55rem}.setup-match-card--map-sidebar.is-visible{transform:translateY(0)}.setup-match-card--map-sidebar.is-entering{animation:setupMatchSidebarIn .24s cubic-bezier(.2,.9,.2,1) both}.setup-match-card--map-sidebar.is-leaving{animation:setupMatchSidebarOut .22s ease-in both}@keyframes setupMatchSidebarIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes setupMatchSidebarOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(.5rem)}}@media (max-width: 640px){.setup-match-card{left:0;right:0;width:100vw;max-width:none;margin-inline:0;bottom:0;border-radius:0;min-height:7.4rem;padding:.02rem .7rem calc(.78rem + env(safe-area-inset-bottom,0px))}.setup-match-heading{min-height:2.2rem}.setup-match-card--map-sidebar{position:fixed;top:auto;right:0;bottom:0;left:0;width:100vw;padding:.02rem .7rem calc(.78rem + env(safe-area-inset-bottom,0px));border-radius:0}}.screen-action-bar{position:relative;z-index:1}.controls-note{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.controls-actions{display:flex;justify-content:flex-end}.menu-actions{display:grid;gap:.75rem;width:100%;max-width:26rem;justify-items:stretch;--menu-button-height: 4.75rem}.menu-actions-wrap{display:flex;align-items:flex-start;justify-content:center;flex:1 1 auto;min-height:0;padding-top:clamp(1.5rem,5vh,3.5rem);padding-inline:.25rem}.menu-actions-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%}.menu-actions .menu-action-button{display:flex;align-items:center;width:100%;min-width:0;max-width:none;height:auto;min-height:var(--menu-button-height);padding:1rem 1.15rem;justify-self:stretch;text-align:left}.menu-actions .menu-action-button.primary{animation:menuPlaqueEmber 5s 1.2s ease-in-out infinite}.menu-actions .menu-action-button--wide{padding-top:1rem;padding-bottom:1rem}.menu-actions .menu-action-button--spaced-under{margin-bottom:.2rem}.menu-actions .menu-action-button--minor{min-height:3.4rem;margin-bottom:.2rem;opacity:.9}.menu-actions .menu-action-button--minor .material-icon{width:1.75rem;height:1.75rem}.menu-actions .menu-action-button .action-button-row{display:flex;align-items:center;justify-content:flex-start;width:100%;gap:.95rem}.menu-actions .menu-action-button .action-button-text{display:flex;flex-direction:column;gap:.18rem;min-width:0;overflow:visible;white-space:normal;text-overflow:clip}.menu-actions .menu-action-button .action-button-title{font-size:clamp(1.05rem,4vw,1.18rem);font-weight:600;letter-spacing:.045em;line-height:1.1;text-shadow:0 1px 1px rgba(0,0,0,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-actions .menu-action-button.primary .action-button-title{font-size:clamp(1.18rem,4.6vw,1.34rem);font-weight:700;color:#fbeed2}.menu-actions .menu-action-button .action-button-subtitle{margin-top:0;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:clamp(.72rem,2.9vw,.79rem);font-weight:400;letter-spacing:.01em;line-height:1.2;opacity:1;color:#f4ead894}.menu-actions .menu-action-button .material-icon{width:2.15rem;height:2.15rem;color:var(--accent);filter:drop-shadow(0 1px 1px rgba(0,0,0,.7))}.menu-actions .menu-action-button.primary .material-icon{width:2.35rem;height:2.35rem;color:var(--accent-bright)}.menu-actions .menu-actions-row .menu-action-button{height:auto;padding:.85rem}.menu-actions .menu-actions-row .menu-action-button .action-button-row{gap:.5rem}.menu-actions .menu-actions-row .menu-action-button .material-icon{width:1.55rem;height:1.55rem}.menu-actions .menu-actions-row .menu-action-button .action-button-title{font-size:clamp(.88rem,3.5vw,1.05rem);letter-spacing:.03em;line-height:1.15;white-space:normal;text-overflow:clip}.material-icon.material-icon--outline svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}@media (max-width: 360px){.menu-actions .menu-action-button .action-button-subtitle{display:none}.menu-actions .menu-action-button{padding:.85rem}}@media (min-width: 700px){.menu-actions{max-width:28rem;gap:.85rem;--menu-button-height: 4.95rem}.menu-actions-row{gap:.85rem}.menu-actions .menu-action-button{padding:1.15rem 1.3rem}}@media (min-width: 1000px) and (min-height: 700px){.menu-actions{max-width:30rem}}@media (max-height: 520px) and (orientation: landscape){.menu-actions{--menu-button-height: auto}.menu-actions-wrap{align-items:center;padding-top:.9rem}.menu-actions .menu-action-button{padding-block:.7rem}}@keyframes menuPlaqueEmber{0%,to{box-shadow:var(--plaque-bevel),inset 0 0 0 3px #e3a74d24,0 0 24px -6px #e3a74d33,0 12px 22px -8px #0009}50%{box-shadow:var(--plaque-bevel),inset 0 0 0 3px #e3a74d38,0 0 34px #e3a74d52,0 12px 22px -8px #0009}}@media (prefers-reduced-motion: reduce){.menu-actions .menu-action-button.primary{animation:none}}.menu-footer-links{display:flex;justify-content:center;align-items:end;margin-top:auto;padding:.2rem 0 .05rem}.menu-pages{margin-top:.1rem;padding:.85rem .2rem 0;border-top:1px solid rgba(227,167,77,.16)}.menu-pages--footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem 1.3rem}.menu-pages-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.3rem}.menu-pages--footer .app-version{display:inline-flex;align-items:center;gap:.6rem}.menu-pages--footer .app-version:before{content:"";width:.22rem;height:.22rem;border-radius:50%;background:currentColor;opacity:.6}.menu-page-link{display:inline-flex;align-items:center;justify-content:center;color:#f4ead8c7;font-size:.95rem;font-weight:700;text-decoration:none;transition:color .14s ease}.menu-page-link:hover,.menu-page-link:focus-visible{color:#fff4e4;outline:none}.menu-page-link.is-active,.menu-page-link[aria-current=page]{color:#fff4e4;font-weight:900}.menu-support-links{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:.35rem;padding:.1rem 0 0;width:min(100%,24rem);margin-inline:auto}.menu-feedback-link{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;box-sizing:border-box;padding:.4rem .7rem;border:1px solid rgba(244,234,216,.16);border-radius:.15rem;background:transparent;color:#f4ead8ad;font-size:.78rem;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;transition:border-color .14s ease,color .14s ease,background-color .14s ease}.menu-feedback-link:hover,.menu-feedback-link:focus-visible{border-color:#f4ead857;background:#f4ead80a;color:#fff4e4eb;outline:none}.menu-feedback-form{width:100%;max-width:100%;text-align:center}.site-contact-feedback-form{width:min(100%,17rem);margin:0 auto}.about-support-link{display:flex;justify-content:center;margin-top:1rem}.menu-feedback-field{display:flex;flex-direction:column;gap:.3rem;color:#f8ecd4e6;font-size:.78rem;letter-spacing:.02em}.menu-feedback-label{display:inline-flex;justify-content:center}.menu-feedback-sending-dots{display:inline-block;width:2.5em;text-align:left}.menu-feedback-input-row{display:flex;gap:0}.menu-feedback-field input{width:100%;min-height:3rem;box-sizing:border-box;border:1px solid rgba(244,234,216,.18);border-radius:.15rem;background:#0e0a07cc;color:#f8ecd4fa;font:inherit;padding:.72rem .6rem}.menu-feedback-submit{display:inline-flex;align-items:center;justify-content:center;flex:0 0 3rem;min-height:3rem;border:1px solid rgba(227,167,77,.42);border-radius:.3rem;background-color:var(--wood-plaque-primary);background-image:linear-gradient(155deg,#ffe8b41a,#00000038 60%),var(--surface-wood);background-repeat:no-repeat,no-repeat;background-blend-mode:soft-light,normal;background-size:100% 100%,200% 200%;box-shadow:inset 0 1px 0 var(--plaque-highlight),inset 0 -6px 10px -8px #000000a6;color:var(--accent-bright);cursor:pointer;transition:border-color .14s ease,transform .14s ease}.menu-feedback-submit:not(:disabled):active{transform:scale(.94)}.menu-feedback-submit:disabled{cursor:pointer;opacity:1}.menu-feedback-submit:not(:disabled):hover,.menu-feedback-submit:not(:disabled):focus-visible{border-color:#e3a74d99;outline:none}.menu-feedback-spinner{width:1.15rem;height:1.15rem;border:.16rem solid rgba(242,208,147,.32);border-top-color:#f2d093;border-radius:50%;animation:menu-feedback-spin .7s linear infinite}.menu-feedback-sent-icon{display:inline-flex;color:#8fcf8f}@keyframes menu-feedback-spin{to{transform:rotate(360deg)}}.menu-feedback-status{display:block;min-height:1.1rem;margin-top:.25rem;color:#f2d093e6;font-size:.72rem}.menu-feedback-field input:focus{border-color:#e3a74d99;outline:2px solid rgba(227,167,77,.2);outline-offset:1px}.menu-feedback-field.is-success>span:first-child{color:#f2d093}.menu-support-links--footer{margin-top:.15rem}.support-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid rgba(244,234,216,.07);background-color:#0e0a07;background-image:var(--surface-wood);background-repeat:no-repeat;background-size:100% 100%;border-radius:.15rem;box-shadow:0 .25rem .6rem #0000002e;color:#f8ecd4fa;cursor:pointer;font:inherit;font-size:.86rem;font-weight:700;letter-spacing:.02em;line-height:1;padding:.52rem .9rem;text-decoration:none;opacity:.95;transition:transform .14s ease,background .14s ease,border-color .14s ease,opacity .14s ease}.support-button:hover,.support-button:focus-visible{border-color:#e3a74d4d;background-color:#18110b;outline:none;transform:translateY(-1px);opacity:1}.support-button__icon{display:inline-flex;align-items:center;justify-content:center;color:#f2d093}.support-button__icon .material-icon{width:1.02rem;height:1.02rem}.support-button__label{min-width:0}.support-button--footer{margin-top:.1rem}.site-page-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:.9rem;height:var(--app-panel-height);overflow:hidden;background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100% 100%;-webkit-backdrop-filter:none;backdrop-filter:none}.panel.site-page-panel{padding-bottom:calc(1.1rem + env(safe-area-inset-bottom,0px))}.site-page-body{width:100%;margin:0 auto;font-family:inherit;min-height:0;height:100%;overflow:hidden}.site-card-scroll{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;gap:3.25rem;overflow-y:auto;overflow-x:hidden;padding:0 .15rem .35rem;scroll-behavior:smooth}.npc-page .site-card-scroll{scroll-behavior:auto}.site-page-outline{display:none}.site-page-outline-list,.site-page-outline-sublist{display:grid;gap:.3rem;list-style:none;margin:0;padding:0}.site-page-outline-sublist{margin:.25rem 0 .55rem .85rem;padding-left:.75rem;border-left:1px solid rgba(244,234,216,.14)}.site-page-outline-link{display:block;padding:.4rem .6rem;border-radius:.2rem;color:#f4ead8b8;font-size:.92rem;font-weight:400;line-height:1.4;text-decoration:none;transition:background-color .12s ease,color .12s ease}.site-page-outline-link--group{color:#f6dfb2;font-weight:600}.site-page-outline-sublist .site-page-outline-link{font-size:.85rem;color:#f4ead894}.site-page-outline-link:hover,.site-page-outline-link:focus-visible{background-color:#e3a74d1a;color:#f6dfb2;outline:none}.site-page-body .site-section{--site-section-padding-block: 1.2rem;--site-section-padding-inline: 1.3rem;position:relative;width:min(46rem,100%);min-width:0;container-type:inline-size;padding:var(--site-section-padding-block) var(--site-section-padding-inline);border:1px solid rgba(244,234,216,.09);border-radius:.15rem;background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100% 100%;scroll-margin-top:.75rem;transition:box-shadow .45s ease,border-color .45s ease}.site-page-body .site-section.is-outline-highlight{border-color:#e3a74db3;box-shadow:0 0 0 2px #e3a74d66,0 0 26px #e3a74d52}.site-page-body .site-section+.site-section{margin-top:0}.site-page-body .site-section h2{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .9rem;padding-bottom:.75rem;border-bottom:1px solid rgba(244,234,216,.08);color:#f8e4bd;font-size:1.18rem;font-weight:500;line-height:1.2;letter-spacing:0}.site-page-body .site-section h2>:first-child{min-width:0}.site-page-body .site-home-title-row{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.site-page-body .site-home-title-icon{width:1.8rem;height:1.8rem;flex:0 0 auto;border-radius:.4rem;box-shadow:0 .3rem .7rem #0000002e}.site-page-body .site-home-title-link{color:#fff2dd;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-page-body .site-home-title-link:hover,.site-page-body .site-home-title-link:focus-visible{color:#f6d18f;outline:none}.site-page-body .site-go-app-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:0 .75rem;border:1px solid rgba(227,167,77,.52);border-radius:.15rem;background-color:var(--button-secondary-base);background-image:var(--surface-wood);background-repeat:no-repeat;background-size:100% 100%;color:#ffe0a8;font-size:.82rem;font-weight:500;line-height:1;text-decoration:none}.site-page-body .site-go-app-button:hover,.site-page-body .site-go-app-button:focus-visible{color:#fff4e4;border-color:#fff2dd85;background-color:#281e14;outline:none}.site-page-body .site-section--collapsible{padding:0}.site-page-body .site-section--collapsible:before{display:none}.site-page-body .site-section-summary{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;gap:.75rem;padding:var(--site-section-padding-block) calc(var(--site-section-padding-inline) + 1.5rem) var(--site-section-padding-block) var(--site-section-padding-inline);border:0;background:transparent;color:#fff2dd;cursor:pointer;font-family:inherit;font-size:1.1rem;font-weight:400;line-height:1.35;list-style:none;text-align:left}.site-page-body .site-section-summary>span{display:flex;align-items:center;gap:.7rem;min-width:0}.site-page-body .faq-label{flex:0 0 auto;padding:.18rem .42rem;border:1px solid rgba(227,167,77,.38);border-radius:.15rem;background:#e3a74d1f;color:#f6d18ff2;font-size:.72rem;font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase}.site-page-body .site-section-summary:after{content:"";position:absolute;right:var(--site-section-padding-inline);top:50%;width:.5rem;height:.5rem;border-right:2px solid rgba(244,234,216,.72);border-bottom:2px solid rgba(244,234,216,.72);transform:translateY(-62%) rotate(45deg);transition:transform .14s ease}.site-page-body .site-section--collapsible.is-open .site-section-summary:after{transform:translateY(-35%) rotate(225deg)}.site-page-body .site-section-summary:focus-visible{outline:2px solid rgba(227,167,77,.55);outline-offset:-3px}.site-page-body .site-section.site-section--mobile-collapsible .site-section-desktop-heading{display:none}.site-page-body .site-section-content{position:relative;padding:var(--site-section-padding-block) var(--site-section-padding-inline)}.site-page-body .site-section-content:before{content:"";position:absolute;top:0;left:var(--site-section-padding-inline);right:var(--site-section-padding-inline);border-top:1px solid rgba(244,234,216,.08)}.site-page-body .site-section p,.site-page-body .site-section dd,.site-page-body .site-feature-list{color:#f4ead8c2;font-size:.98rem;line-height:1.72}.site-page-body .site-section p{margin:.52rem 0 0}.site-page-body .site-section p:first-of-type{margin-top:0}.npc-search{display:grid;gap:.45rem;margin-top:1.25rem}.search-field-control{position:relative;display:flex;align-items:center;width:100%;color:var(--muted)}.search-field-control>.material-icon{position:absolute;left:.7rem;width:1rem;height:1rem;pointer-events:none}.search-field-input{width:100%;min-height:2.35rem;padding:.45rem .7rem .45rem 2.05rem;border:1px solid rgba(244,234,216,.16);border-radius:.15rem;outline:none;background:#0c08066b;color:var(--text);font:inherit;font-size:.86rem}.search-field-input::placeholder{color:#f4ead894}.search-field-input:focus{border-color:#e3a74d8c;box-shadow:0 0 0 2px #e3a74d1f}.npc-search--mobile,.npc-outline-sidebar{display:none}.npc-search-count{margin-bottom:0!important;color:#f4ead894;font-size:.88rem}.site-page-body .npc-summary-section h2{color:#f6dfb2}.site-page-body .npc-summary-heading{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:.45rem}.site-page-body .npc-summary-name{font-size:1.22rem;line-height:1.2}.site-page-body .npc-summary-subtitle{overflow-wrap:anywhere;color:#f6cb84db;font-family:Georgia,Times New Roman,serif;font-size:.86rem;font-style:italic;font-weight:400;line-height:1.3;white-space:normal}.npc-list-group{display:flex;flex-direction:column;width:min(46rem,100%);gap:0}.site-page-body .npc-summary-section p+p{margin-top:1.1rem}.site-page-body .site-feature-list{margin:.72rem 0 0;padding-left:1.25rem}.site-page-body .site-feature-list li+li{margin-top:.45rem}.site-page-body .faq-list{display:grid;gap:1rem}.site-page-body .faq-item{border-color:#f4ead81a}.site-page-body .faq-item h2{margin:0 0 .58rem;color:#fff2dd;font-size:.98rem;line-height:1.3;font-weight:650;letter-spacing:0}.site-page-body .faq-item p{color:#f4ead8c2;font-size:.98rem;line-height:1.72}.site-page-body .faq-item p+p{margin-top:.85rem}.site-page-body .guide-collapsible-list{display:grid;gap:1.1rem}.site-page-body .guide-collapsible-list .site-section{--site-section-padding-block: .9rem;--site-section-padding-inline: 1rem}.site-page-body .guide-collapsible-list .site-section+.site-section{margin-top:0}.site-page-body .origin-story .site-section-summary{min-height:4.25rem}.site-page-body .origin-story .site-section-summary>span{align-items:baseline;flex-wrap:wrap}.site-page-body .origin-story .origin-story-subtitle{color:#f4ead87a;font-weight:400}.site-page-body .origin-story-group{padding:.2rem 0 1.05rem}.site-page-body .origin-story-group+.origin-story-group{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(244,234,216,.08)}.site-page-body .origin-story-group h3{margin:0 0 .5rem;color:#f6d18fe0;font-size:1rem;font-weight:600;line-height:1.3}.site-page-body .origin-story-group p+p{margin-top:.9rem}.guide-visual{width:100%;margin:.9rem 0 0;padding:1rem .75rem .9rem;border:1px solid rgba(244,234,216,.09);border-radius:.2rem;background-color:#0000002e;display:flex;flex-direction:column;align-items:center;gap:.65rem}.guide-plates-illustration{width:100%;min-width:0;--plate-width: clamp(1.3rem, 5.5cqw, 1.65rem);--hole-size: clamp(.47rem, 2cqw, .6rem);--hole-gap: clamp(.33rem, 1.4cqw, .42rem);--plate-padding-x: clamp(.9rem, 3.83cqw, 1.15rem);--plate-body-thickness: 2rem;--plate-lane-height: 2.9rem;--plate-body-width: calc((7 * var(--hole-size)) + (6 * var(--hole-gap)) + (2 * var(--plate-padding-x)));--travel-distance: calc(var(--travel-steps) * (var(--hole-size) + var(--hole-gap)));--plate-track-width: calc(var(--plate-body-width) + (2 * var(--travel-distance)) + .9rem)}.guide-plates-illustration .plates-row{gap:.9rem}.guide-plate-cell{display:flex;flex-direction:column;align-items:center;gap:.5rem}.guide-plates-caption{max-width:6rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;color:#f4ead880;font-size:.68rem;font-weight:600;line-height:1.3;text-align:center}.guide-plates-caption .material-icon{width:.85rem;height:.85rem}.guide-plates-caption-dash{width:.6rem;height:.14rem;border-radius:999px;background:currentColor;opacity:.6}.guide-plates-stack{width:100%;display:grid;gap:1.1rem}.guide-plates-stack-row{display:grid;gap:.5rem;justify-items:center}.guide-plates-stack-row+.guide-plates-stack-row{padding-top:1.1rem;border-top:1px dashed rgba(244,234,216,.14)}.guide-plates-stack-label{color:#f4ead88c;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.guide-menu-preview{width:100%;pointer-events:none}.guide-menu-preview .menu-support-links,.guide-menu-preview .menu-pages--footer,.guide-menu-preview .menu-actions-row{display:none}.guide-menu-preview .controls-card{padding:0;border-top:0}.guide-menu-preview .menu-actions-wrap{padding-top:.25rem}.guide-menu-preview .menu-actions{max-width:100%}.guide-skill-menu{width:100%;max-width:24rem;display:grid;gap:.5rem}.guide-skill-menu-item{width:100%;align-items:flex-start;white-space:normal}.guide-skill-menu-item-text{display:flex;flex-direction:column;gap:.15rem}.guide-skill-menu-item-note{color:#f4ead880;font-size:.76rem;font-weight:400;white-space:normal}.guide-solution-sequence{width:100%;display:flex;justify-content:center}.guide-solution-sequence-inner{flex-wrap:wrap}.guide-icon-row{display:flex;gap:1.5rem;justify-content:center}.guide-icon-row-item{display:grid;justify-items:center;gap:.5rem}.guide-icon-button{display:inline-flex;cursor:default}.guide-search-preview{width:100%}.guide-search-preview .controls-card{padding:0}.guide-visual-caption{margin:0;max-width:32rem;color:#f4ead899;font-size:.82rem;font-style:italic;line-height:1.55;text-align:center}.matrix-example-table{width:100%;max-width:26rem;border-collapse:collapse;font-size:.85rem}.matrix-example-table th,.matrix-example-table td{padding:.45rem .5rem;border:1px solid rgba(244,234,216,.12);text-align:center}.matrix-example-table thead th{color:#f4ead8ad;font-size:.72rem;font-weight:600;letter-spacing:.02em}.matrix-example-table thead th:first-child{font-size:.68rem;font-weight:500;text-align:left;white-space:nowrap}.matrix-example-table tbody th{color:#f4ead8;font-size:.8rem;font-weight:500;text-align:left;white-space:nowrap}.matrix-cell{font-weight:600}.matrix-cell--same{background-color:#e3a74d29;color:#f6cb84}.matrix-cell--opposite{background-color:#e08a7d29;color:#e08a7d}.matrix-cell--none{color:#f4ead861;font-weight:400}.matrix-cell--self{background-color:#f4ead80f;color:#f4ead847;font-weight:400}.site-page-body .site-content-link{color:#f6d18f;text-decoration:none;border-bottom:1px solid rgba(227,167,77,.5)}.site-page-body .site-content-link:hover,.site-page-body .site-content-link:focus-visible{color:#fff2dd;border-bottom-color:#fff2ddb8;outline:none}.site-page-body .site-contact-action{text-align:center}.site-page-body .site-contact-action h2{justify-content:center;text-align:center}.site-page-body .site-contact-button{display:inline-flex;align-items:center;justify-content:center;width:min(100%,17rem);min-width:0;max-width:17rem;text-decoration:none;font-size:.92rem;font-weight:500;line-height:1.25}.site-page-body .site-contact-button .material-icon{width:.86rem;height:.86rem;opacity:.76}.site-page-body .site-contact-button .action-button-row{gap:.5rem}@media (min-width: 900px){.npc-list-group{gap:3.25rem}.site-page-body .site-section--mobile-collapsible{padding:var(--site-section-padding-block) var(--site-section-padding-inline)}.site-page-body .site-section--mobile-collapsible .site-section-summary{display:none}.site-page-body .site-section.site-section--mobile-collapsible .site-section-desktop-heading{display:flex}.site-page-body .site-section--mobile-collapsible .site-section-content{display:block!important;padding:0}.site-page-body .site-section--mobile-collapsible .site-section-content:before{display:none}.site-page-body--npcs,.site-page-panel.has-site-page-outline .site-page-body{display:grid;grid-template-columns:16rem minmax(0,1fr);align-items:start;gap:1.5rem;height:100%}.site-page-panel.has-site-page-outline .site-page-outline{display:block;height:100%;overflow-y:auto;padding:.35rem .5rem .35rem 0;border-right:1px solid rgba(244,234,216,.08)}.site-page-panel.has-site-page-outline .site-card-scroll{padding-right:.35rem}.npc-outline-sidebar{display:flex!important;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:.35rem .5rem .35rem 0;border-right:1px solid rgba(244,234,216,.08)}.site-page-panel.has-site-page-outline .npc-outline-sidebar .site-page-outline{display:block!important;flex:1 1 auto;height:auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0;border-right:0}.npc-outline-sidebar .npc-search{margin:0 0 .8rem}.npc-outline-sidebar .site-page-outline-link--group{font-size:.85rem}.npc-outline-sidebar .site-page-outline-sublist .site-page-outline-link{font-size:.92rem}}@media (max-width: 640px){.app-shell.app-shell--site-page{padding-inline:0}.app-shell--site-page .site-page-panel,.site-card-scroll{gap:0;padding-inline:0}.site-page-body .site-section{--site-section-padding-block: 1.8rem;--site-section-padding-inline: 1.3rem;width:100%;border-inline:0;border-radius:0}}@media (max-width: 899px){.npc-page-header .app-screen-header-title{display:none}.npc-page-header{justify-content:flex-start;padding-left:3.2rem}.npc-page-header .npc-search--mobile{display:grid;flex:1;margin:0}}@media (max-width: 520px){.site-page-body .site-section h2{align-items:center;flex-direction:row}.site-page-body .site-go-app-button{align-self:auto}.menu-support-links{width:min(100%,24rem)}.menu-actions .menu-action-button{padding-inline:1rem}.menu-actions .menu-action-button--spaced-under{margin-bottom:.15rem}.menu-actions .menu-action-button .action-button-row{gap:.8rem}}.import-notation-field{display:grid;gap:.45rem}.import-notation-input{width:100%;min-height:13rem;resize:vertical;border:1px solid rgba(255,255,255,.12);border-radius:.85rem;background:#ffffff0a;color:var(--text);font:inherit;padding:.75rem .85rem;margin-bottom:1rem;line-height:1.45}.import-notation-input:focus-visible{outline:none;border-color:#e3a74d8c;background:#e3a74d14}.import-notation-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.import-notation-error{text-align:center}body.is-menu-mode .hero{padding-top:.2rem;padding-bottom:.2rem;min-height:0}body.is-menu-mode .hero-title{color:var(--text);font-size:clamp(1.1rem,3.4vw,1.55rem);letter-spacing:.06em}body.is-menu-mode .hero-title-line--accent{font-size:.96em;color:#f6dfb2}body.is-menu-mode .hero-title-line{display:block}body.is-menu-mode .hero-title-line:first-child{font-size:.62em;color:#f4ead8a8;margin-bottom:.22rem}body.is-menu-mode .hero-title--menu .hero-title-line:first-child{font-size:1em;color:#f6dfb2;margin-bottom:0}@media (max-width: 640px){body.is-menu-mode .hero-title-image{width:min(24rem,90vw)}.menu-page-link{font-size:.82rem}.menu-pages--footer .app-version{font-size:.65rem}}body.is-setup-mode .hero-title,body.is-linking-mode .hero-title,body.is-solution-mode .hero-title,body.is-load-mode .hero-title,body.is-import-mode .hero-title{color:#f4ead8d1;font-size:1rem;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis}body.is-solution-mode .hero-title--solution{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.06;white-space:normal;max-width:min(34rem,calc(100vw - 7.4rem))}body.is-solution-mode .hero-title--solution .hero-title-line--main{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}body.is-solution-mode .hero-title--solution .hero-title-line--subtitle{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.28rem;margin-top:.14rem;color:#f4ead8ad;font-size:.76rem;letter-spacing:.03em;text-transform:none}body.is-solution-mode .hero-title--solution .hero-title-line--description{color:#f4ead8e0}body.is-solution-mode .hero-title--solution .hero-title-line--separator{color:#f4ead873}body.is-solution-mode .hero-title--solution .hero-title-line--label{color:#f6dfb2;font-weight:400}body.is-manual-linking-mode .hero-title{color:#f4ead8eb;font-size:1rem;letter-spacing:.06em}body.is-menu-mode .controls-card{padding-top:.15rem;height:100%;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:transparent;background-image:none}body.is-menu-mode .panel:not(.site-page-panel){overflow:hidden;grid-template-rows:auto minmax(0,1fr)}body.is-load-mode .panel{grid-template-rows:auto minmax(0,1fr)}body.is-lock-map-mode{overflow:hidden;background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100% 100%}body.is-lock-map-mode .app-shell,.app-shell--lock-map-workspace{padding:0;background:transparent}body.is-lock-map-mode .panel,.panel--lock-map-workspace{width:100%;min-height:0;height:100dvh;padding:0;border:0;border-radius:0;box-shadow:none;background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100% 100%;overflow:hidden;display:block;position:relative}.panel--lock-map-workspace .controls-card--lock-map{height:100%;padding:0;display:block;gap:0;border-top:0}.panel--lock-map-workspace .hero--lock-map{position:absolute;z-index:21;top:.85rem;left:1.15rem;right:1.15rem;width:auto}.panel--lock-map-workspace .hero--lock-map .hero-search-wrap{flex:1 1 auto}.panel--lock-map-workspace .hero--lock-map .hero-filter-button{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;padding-inline:.55rem;border:0;white-space:nowrap}@media (min-width: 900px){body:not(.is-menu-mode) .app-shell>.panel:not(.panel--lock-map-workspace){padding-top:0}body:not(.is-menu-mode) .app-screen-header{height:70px;min-height:70px;padding-bottom:0;align-items:center}body:not(.is-menu-mode) .app-screen-header>.app-screen-header-content{transform:none}body:not(.is-menu-mode) .app-screen-header .app-screen-header-back,body:not(.is-menu-mode) .app-screen-header .hero-menu-wrap{top:50%}.panel--lock-map-workspace .app-screen-header.hero--lock-map{top:calc(.75rem + env(safe-area-inset-top,0px));left:calc(.75rem + env(safe-area-inset-left,0px));right:auto;width:min(31rem,calc(100% - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));height:auto;min-height:2.5rem;padding:.45rem;align-items:center;justify-content:flex-start;gap:.45rem;text-align:left;border:1px solid rgba(246,203,132,.42);border-radius:.45rem;background-color:var(--wood-plaque);background-image:linear-gradient(155deg,#ffffff0a,#0000002e 55%),var(--surface-wood);background-repeat:no-repeat,no-repeat;background-blend-mode:soft-light,normal;background-size:100% 100%,130% 130%;background-position:center,20% 30%;box-shadow:inset 0 1px 0 var(--plaque-highlight),0 .45rem 1rem #0006}.panel--lock-map-workspace .app-screen-header.hero--lock-map .hero-back{top:50%;bottom:auto;left:0;transform:translateY(-50%)}.panel--lock-map-workspace .app-screen-header.hero--lock-map .app-screen-header-content{width:auto;min-height:0;flex:1 1 auto;align-items:stretch;justify-content:flex-start;gap:.45rem;margin-left:3rem;transform:none}.panel--lock-map-workspace .app-screen-header.hero--lock-map .hero-filter-wrap--catalog{position:relative;right:auto;bottom:auto;display:flex;height:auto;flex:0 0 auto;align-items:stretch}.panel--lock-map-workspace .app-screen-header.hero--lock-map .hero-filter-button{width:max-content;min-width:6.25rem;justify-content:center;border:1px solid rgba(244,234,216,.2)}.panel--lock-map-workspace .app-screen-header.hero--lock-map .hero-filter-button-label{max-width:none;flex:0 0 auto}.panel--lock-map-workspace .app-screen-header.hero--lock-map .hero-back,.panel--lock-map-workspace .app-screen-header.hero--lock-map .hero-filter-button,.panel--lock-map-workspace .app-screen-header.hero--lock-map .hero-filter-clear{border-color:#f4ead833;background-color:var(--wood-plaque);background-image:linear-gradient(155deg,#ffffff0a,#0000002e 55%),var(--surface-wood);background-repeat:no-repeat,no-repeat;background-blend-mode:soft-light,normal;background-size:100% 100%,130% 130%;background-position:center,20% 30%}.panel--lock-map-workspace .app-screen-header.hero--lock-map .search-field-input,.panel--lock-map-workspace .app-screen-header.hero--lock-map .search-field-input:focus{background:#0c08066b;background-image:none;color:var(--text)}}.panel--lock-map-workspace .hero--lock-map .hero-filter-button-label{max-width:7.5rem;font-size:.76rem}.hero--lock-map .hero-filter-button.is-active{border-radius:.15rem 0 0 .15rem}.hero-filter-clear{width:2rem;min-width:2rem;height:var(--solution-control-size, 2.5rem);padding:0;display:grid;place-items:center;margin-left:-1px;border:1px solid rgba(227,167,77,.45);border-radius:0 .15rem .15rem 0;background-color:transparent;background-image:none;color:#f6dfb2;cursor:pointer}.hero-filter-clear:hover,.hero-filter-clear:focus-visible{color:#fff;border-color:#f6cb84bf;outline:none}.hero-filter-clear.is-touch-pressed{transform:none}.hero-filter-clear .material-icon{width:.95rem;height:.95rem}.lock-map-sidebar-actions{position:absolute;z-index:20;top:calc(5.25rem + env(safe-area-inset-top,0px));left:calc(.75rem + env(safe-area-inset-left,0px));max-width:calc(100% - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));display:flex;align-items:center;gap:.45rem}.lock-map-unplaced-results{position:absolute;z-index:21;top:calc(4.85rem + env(safe-area-inset-top,0px));left:calc(.75rem + env(safe-area-inset-left,0px));width:fit-content;max-width:min(22rem,calc(100% - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:min(22rem,calc(100dvh - 6rem));display:grid;justify-items:start;gap:.45rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.lock-map-unplaced-card.lock-map-panel{position:relative;width:max-content;max-width:100%;box-sizing:border-box;padding:.7rem .8rem}.lock-map-unplaced-card .lock-map-preview-name{padding-right:0}.lock-map-unplaced-card .lock-map-preview-button{width:100%;min-width:100%;max-width:none}.lock-map-unplaced-status{font-weight:700;color:#e7b76f}.lock-map-workspace:has(.lock-map-unplaced-results)>.lock-map-sidebar-actions{display:none}.lock-map-sidebar-actions .action-button.secondary{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:none;min-width:0;min-height:2.1rem;padding:.3rem .7rem;border:1px solid rgba(82,55,33,.72);background-color:var(--wood-plaque);background-image:linear-gradient(155deg,#ffffff0a,#0000002e 55%),var(--surface-wood);background-repeat:no-repeat,no-repeat;background-blend-mode:soft-light,normal;background-size:100% 100%,130% 130%;background-position:center,20% 30%;box-shadow:var(--plaque-bevel),0 .25rem .6rem #00000047;color:var(--muted);font-size:.86rem;font-weight:700;line-height:1;white-space:nowrap}.lock-map-sidebar-actions .action-button-row{align-items:center;line-height:1}.lock-map-sidebar-actions .action-button-row>span{line-height:1}.lock-map-sidebar-actions .action-button.secondary:hover,.lock-map-sidebar-actions .action-button.secondary:focus-visible{border-color:#5c3718f2;background-color:var(--wood-plaque);color:var(--text)}.lock-map-sidebar-actions .material-icon{width:1rem;height:1rem;align-self:center}.lock-map-workspace.has-sidebar>.lock-map-sidebar-actions{display:none}.lock-map-workspace{position:relative;display:grid;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.lock-map-workspace-map{position:relative;grid-column:1;grid-row:1;min-width:0;min-height:0;height:100%;overflow:hidden;background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100% 100%}.lock-map-solution-sidebar{grid-column:1;grid-row:1;min-width:0;min-height:0;height:100%;padding:.65rem .75rem .75rem;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.45rem;overflow:hidden;background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100% 100%;color:var(--text)}.lock-map-sidebar-content{min-width:0;min-height:0;display:flex;flex-direction:column;gap:.45rem;overflow:auto;scrollbar-gutter:stable}.lock-map-sidebar-content.is-solution-view{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.45rem;overflow:hidden;scrollbar-gutter:auto}.lock-map-sidebar-content.is-solution-view>.bottom-panel{min-height:0}.lock-map-sidebar-content>.controls-card{flex:0 0 auto}.lock-map-sidebar-content--catalog>.controls-card:first-child{border-top:0}.lock-map-solution-sidebar.is-setup-view{gap:.65rem}.lock-map-sidebar-content--catalog>.controls-card{flex:1 1 auto;min-height:0}.lock-map-sidebar-content--setup{overflow:hidden;scrollbar-gutter:auto}.lock-map-sidebar-content--setup>.plate-setup-layout{flex:1 1 auto;min-height:0}.lock-map-sidebar-content--setup>.plate-setup-layout>.plate-setup-controls>.controls-card:first-child{border-top:0}.hero--map-solution-sidebar .hero-title--solution{max-width:100%}.lock-map-sidebar-search-row{display:none}.lock-map-sidebar-close{position:absolute;right:0;top:calc(50% + .5px);bottom:auto;transform:translateY(-50%)}.lock-map-sidebar-reset{position:absolute;right:2.5rem;top:calc(50% + .5px);bottom:auto;transform:translateY(-50%)}.lock-map-sidebar-reset:disabled{color:#f4ead847;cursor:default}.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-reset:hover:not(:disabled),.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-reset:focus-visible:not(:disabled){background-color:transparent;color:#ffe0a8}.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-reset:disabled,.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-reset:disabled:hover,.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-reset:disabled:focus-visible{background-color:transparent;color:#f4ead847}.lock-map-solution-sidebar .lock-map-sidebar-back{display:none;position:absolute;width:3rem;height:3rem;left:0;top:calc(50% + .5px);transform:translateY(-50%)}.hero--map-solution-sidebar .hero-menu-wrap,.hero--map-solution-sidebar .hero-menu{left:0;right:auto}.lock-map-sidebar-close:hover,.lock-map-sidebar-close:focus-visible,.lock-map-sidebar-back:hover,.lock-map-sidebar-back:focus-visible,.lock-map-sidebar-reset:hover,.lock-map-sidebar-reset:focus-visible{transform:translateY(-50%)}.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-close:hover,.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-close:focus-visible,.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-back:hover,.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-back:focus-visible,.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-reset:hover,.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-reset:focus-visible{transform:translateY(-50%)}.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-close.is-touch-pressed,.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-back.is-touch-pressed,.lock-map-solution-sidebar .solution-toggle-icon.lock-map-sidebar-reset.is-touch-pressed{transform:translateY(-50%)}.lock-map-solution-sidebar .lock-stage{min-height:0;overflow:hidden}.lock-map-solution-sidebar .bottom-panel{min-height:0;overflow:visible}.lock-map-solution-sidebar .solution-sequence-wrap{max-width:100%;padding-inline:.35rem}.lock-map-solution-sidebar .screen-action-bar{padding-top:.65rem}.lock-map-solution-sidebar .solution-embedded-actions{flex:0 0 auto;margin-top:auto;padding:.85rem .35rem .2rem}.lock-map-solution-sidebar .solution-embedded-actions[data-count="2"] .action-button{min-height:2.8rem;padding-block:.42rem}@media (min-width: 900px){.hero--map-solution-sidebar .app-screen-header-content{transform:none}.hero--map-solution-sidebar .hero-menu-wrap,.hero--map-solution-sidebar .lock-map-sidebar-close,.hero--map-solution-sidebar .lock-map-sidebar-reset{top:50%}.lock-map-solution-sidebar.is-setup-view .lock-stage.has-setup-reset{padding-bottom:.85rem}.lock-map-solution-sidebar.is-setup-view .stage-bottom-reset{position:relative;top:auto;right:auto;bottom:auto;left:auto;transform:none;margin:.55rem auto 0}.lock-map-solution-sidebar.is-setup-view .stage-bottom-reset:hover:not(:disabled),.lock-map-solution-sidebar.is-setup-view .stage-bottom-reset:focus-visible:not(:disabled){transform:translateY(-1px)}.lock-map-solution-sidebar.is-setup-view .stage-bottom-reset.is-touch-pressed{transform:translateY(1px) scale(.985)}.lock-map-workspace.has-sidebar .lock-map-solution-sidebar{position:absolute;z-index:19;top:calc(5.25rem + env(safe-area-inset-top,0px));bottom:calc(.75rem + env(safe-area-inset-bottom,0px));left:calc(.75rem + env(safe-area-inset-left,0px));width:min(31rem,calc(100% - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));height:auto;box-sizing:border-box;padding-top:0;border:1px solid rgba(246,203,132,.42);border-radius:.45rem;box-shadow:0 .45rem 1rem #0006}.lock-map-solution-sidebar .lock-stage.is-solution-compact,.lock-map-solution-sidebar.is-setup-view .lock-stage{--plate-width: 1.65rem;--hole-size: .6rem;--hole-gap: .42rem;--plate-padding-x: 1.15rem;--plate-body-thickness: 2rem;--plate-lane-height: 2.9rem;--plate-body-width: calc((7 * var(--hole-size)) + (6 * var(--hole-gap)) + (2 * var(--plate-padding-x)));--travel-distance: calc(var(--travel-steps) * (var(--hole-size) + var(--hole-gap)));--plate-track-width: calc(var(--plate-body-width) + (2 * var(--travel-distance)) + .9rem)}.lock-map-solution-sidebar.is-setup-view .lock-stage{--plate-width: 2.4rem;--hole-size: .64rem;--hole-gap: .58rem;--plate-padding-x: 1.4rem;--plate-body-thickness: 2.25rem;--plate-lane-height: 3.25rem}.lock-map-solution-sidebar .plates-row{gap:.32rem}.lock-map-solution-sidebar .lock-stage.is-lock-solved .plates-door-panel{animation:none!important;transform:none!important;filter:none!important;opacity:1!important;box-shadow:none!important;pointer-events:auto!important}.lock-map-solution-sidebar .plates-door-frame{min-height:0!important}.lock-map-solution-sidebar .plates-door-backdrop{display:none!important}}@media (max-width: 899px){body:not(.is-menu-mode) .app-screen-header{--mobile-header-center-left: calc(4.25rem + env(safe-area-inset-left, 0px)) ;--mobile-header-center-right: calc(.75rem + env(safe-area-inset-right, 0px)) }body:not(.is-menu-mode) .app-screen-header:has(.hero-filter-button){--mobile-header-center-right: calc(3.75rem + env(safe-area-inset-right, 0px)) }body:not(.is-menu-mode) .app-screen-header:has(.hero-filter-clear){--mobile-header-center-right: calc(6rem + env(safe-area-inset-right, 0px)) }.panel--lock-map-workspace .hero--lock-map .hero-filter-button-label{display:none}.panel--lock-map-workspace .hero--lock-map .hero-filter-button.is-active{border:1px solid rgba(246,203,132,.85);background-color:#6c421ff5;color:#fff2cf;box-shadow:inset 0 0 0 1px #ffe7b729,0 0 .55rem #e3a74d4d}.lock-map-workspace.has-sidebar>.hero--lock-map{display:none}.lock-map-workspace.has-sidebar .lock-map-workspace-map{display:none}.lock-map-solution-sidebar{width:100%}.lock-map-sidebar-content.is-solution-view>.bottom-panel{margin-left:calc(.7rem + env(safe-area-inset-left,0px));margin-right:calc(.7rem + env(safe-area-inset-right,0px))}.lock-map-solution-sidebar .lock-map-sidebar-close{display:none}.lock-map-solution-sidebar .lock-map-sidebar-back{display:grid;place-items:center;left:var(--app-screen-header-back-inset, 0px)}.lock-map-sidebar-reset{right:0}.hero--map-solution-sidebar .hero-menu-wrap,.hero--map-solution-sidebar .hero-menu{left:auto;right:0}.lock-map-sidebar-content--catalog{padding:0 .75rem .75rem}.hero--map-solution-sidebar--catalog{--app-screen-header-back-inset: .75rem;z-index:40;padding:.45rem .75rem .45rem 4.25rem;gap:.5rem}.hero--map-solution-sidebar--catalog .lock-map-sidebar-back{left:var(--app-screen-header-back-inset, 0px)}.hero--map-solution-sidebar--catalog .hero-title{display:none}.lock-map-sidebar-search-row{display:flex;align-items:center;gap:.5rem;flex:1 1 auto;min-width:0}.hero--map-solution-sidebar--catalog .app-screen-header-content{flex:1 1 auto}.lock-map-sidebar-search-row .hero-search-wrap{flex:1 1 auto;min-width:0}.lock-map-sidebar-search-row .hero-filter-wrap--catalog{flex:0 0 auto}}@media (max-width: 640px){.lock-map-solution-sidebar{padding:0}.lock-map-sidebar-content--setup{padding-inline:.7rem}.lock-map-solution-sidebar .solution-embedded-actions{padding-bottom:calc(.85rem + env(safe-area-inset-bottom,0px))}.plate-setup-layout{padding-bottom:.8rem}}@media (max-width: 899px){.app-shell{padding-top:0;padding-inline:0}body:not(.is-menu-mode) .app-shell>.panel.panel{width:100%;padding-top:0;border-top:0;border-inline:0;border-radius:0;scrollbar-width:none}body:not(.is-menu-mode) .app-shell>.panel.panel::-webkit-scrollbar{display:none}.panel.panel--lock-map-workspace{padding:0;border:0}body:not(.is-menu-mode) .app-screen-header{width:100vw;--app-screen-header-bottom-inset: .5rem;--app-screen-header-action-bottom-inset: .5rem;height:4rem;min-height:4rem;margin-inline:calc(50% - 50vw);padding-top:0;padding-bottom:calc(var(--app-screen-header-bottom-inset) - 1px);box-sizing:border-box;align-items:flex-end}.app-screen-header .app-screen-header-back{position:absolute;top:calc(50% + .5px);bottom:auto;left:calc(.75rem + env(safe-area-inset-left,0px));transform:translateY(-50%)}.app-screen-header .hero-menu-wrap,.hero--map-solution-sidebar .hero-menu-wrap,.lock-map-sidebar-reset{top:calc(50% + .5px);bottom:auto;right:calc(.75rem + env(safe-area-inset-right,0px));transform:translateY(-50%)}.panel--lock-map-workspace .hero--lock-map{top:0;left:0;right:0;margin-inline:0;background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100vw 100dvh;background-position:top left}.panel--lock-map-workspace .hero--lock-map .app-screen-header-content{margin-left:0}.hero--map-solution-sidebar--catalog{margin-inline:0;padding-left:calc(4.25rem + env(safe-area-inset-left,0px));padding-right:calc(.75rem + env(safe-area-inset-right,0px))}.app-screen-header .hero-menu-wrap--load{left:calc(.75rem + env(safe-area-inset-left,0px))}.hero-load-search{left:calc(3.5rem + env(safe-area-inset-left,0px));right:calc(5.85rem + env(safe-area-inset-right,0px));bottom:0}.npc-page-header .npc-search--mobile,.app-screen-header .hero-search-wrap{position:absolute;top:calc(50% + .5px);bottom:auto;left:var(--mobile-header-center-left);right:var(--mobile-header-center-right);width:auto;margin:0;transform:translateY(-50%)}.npc-page-header .npc-search--mobile{height:2.35rem;min-height:2.35rem}.app-screen-header .hero-load-search .search-field-input{position:relative;top:calc((2.35rem - 2.5rem) / 2)}.app-screen-header .hero-filter-wrap--catalog{position:absolute;top:calc(50% + .5px);bottom:auto;right:calc(.75rem + env(safe-area-inset-right,0px));height:2.5rem;transform:translateY(-50%);display:flex;align-items:center}.panel--lock-map-workspace .hero--lock-map .hero-back,.panel--lock-map-workspace .hero--lock-map .hero-filter-button,.panel--lock-map-workspace .hero--lock-map .hero-filter-clear{background-color:transparent;background-image:none}.panel--lock-map-workspace .hero--lock-map .hero-filter-button:not(.is-active){border-color:transparent}.panel--lock-map-workspace .hero--lock-map .hero-filter-button.is-active{border-color:#e3a74d38}.lock-map-sidebar-actions{top:calc(4.5rem + env(safe-area-inset-top,0px))}body:not(.is-menu-mode) .app-screen-header .hero-search-wrap,body:not(.is-menu-mode) .app-screen-header .search-field-input{height:2.35rem;min-height:2.35rem}body:not(.is-menu-mode) .app-screen-header .hero-search-wrap{align-self:center}}body.is-solution-mode{overflow:hidden}body.is-solution-mode .panel{height:var(--app-panel-height);overflow:hidden;grid-template-rows:auto auto minmax(0,1fr) auto}body.is-load-mode .controls-card--load-screen{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;background-color:transparent;background-image:none}.count-picker,.solution-sequence{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center}.count-button,.progress-pill{min-width:3rem;border:1px solid rgba(244,234,216,.1);border-radius:.3rem;background-color:var(--wood-plaque);background-image:linear-gradient(155deg,#ffffff0a,#0000002e 55%),var(--surface-wood);background-repeat:no-repeat,no-repeat;background-blend-mode:soft-light,normal;background-size:100% 100%,130% 130%;background-position:center,20% 30%;box-shadow:var(--plaque-bevel),0 6px 14px -8px #0000008c;color:var(--text);padding:.5rem .8rem;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.count-button{cursor:pointer;width:min(100%,4.5rem);max-width:4.5rem}.count-button:hover,.count-button:focus-visible,.count-button.is-active{transform:translateY(-1px);border-color:var(--accent);background-color:var(--wood-plaque-primary);box-shadow:var(--plaque-bevel),inset 0 0 0 2px #e3a74d24,0 6px 14px -8px #0000008c;outline:none}.solution-step{min-width:auto;padding:.52rem .78rem;border-radius:.15rem;border:1px solid rgba(255,255,255,.12);background-color:#211710;background-image:none;color:var(--text);font-size:.92rem;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;white-space:nowrap;position:relative;overflow:hidden}.solution-step.is-current{border-color:#e3a74df2;background-color:var(--button-primary-base);background-image:none;color:#f6dfb2;text-shadow:none}.solution-step.is-done{border-color:#b7d98dcc;background-color:#1b2215;background-image:none;color:#eef8dc;text-shadow:none}.solution-step.is-condensed{align-items:center}.solution-step.is-condensed .solution-step-label{transform:translateY(-.06rem)}.solution-step-label{display:inline-flex;align-items:center;gap:.35rem;position:relative;z-index:1}.solution-step .material-icon{width:.95rem;height:.95rem}.solution-step-progress{position:absolute;left:0;right:0;bottom:0;height:.16rem;border-radius:0;background:#ffffff14;overflow:hidden;pointer-events:none;z-index:0}.solution-step-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e3a74d33,#e3a74dc7);box-shadow:0 0 .35rem #e3a74d2e;transition:width .14s ease}.solution-step-progress-divider{position:absolute;top:-.03rem;bottom:-.03rem;width:.14rem;transform-origin:center;transform:translate(-50%) skew(-18deg);background:linear-gradient(180deg,#ffffff0f,#ffffff1f);box-shadow:0 0 .05rem #00000038,0 0 .12rem #0000001a;border-radius:999px;z-index:2}.action-button{width:min(100%,16rem);min-width:min(16rem,100%);max-width:16rem;border-radius:.3rem;border:1px solid rgba(244,234,216,.1);background-color:var(--wood-plaque);background-image:linear-gradient(155deg,#ffffff0a,#0000002e 55%),var(--surface-wood);background-repeat:no-repeat,no-repeat;background-blend-mode:soft-light,normal;background-size:100% 100%,130% 130%;background-position:center,20% 30%;box-shadow:var(--plaque-bevel),0 10px 20px -8px #0000008c;color:var(--text);letter-spacing:.03em;text-transform:none;padding:.72rem 1.2rem;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease,opacity .14s ease}.manual-linking-reset-wrap{display:flex;justify-content:center;align-items:center}.manual-linking-bottom-actions{display:flex;flex-direction:column;align-items:center;align-self:stretch;width:100%;margin-top:auto;padding-bottom:1rem}.manual-linking-reset-wrap .action-button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;max-width:none;height:auto;padding:.42rem .78rem;font-size:.76rem;line-height:1;flex:0 0 auto}.manual-linking-reset-wrap{margin:.45rem 0 .9rem}.manual-linking-reset-wrap .action-button-row{gap:.32rem}.manual-linking-reset-wrap .material-icon{width:.9rem;height:.9rem}.action-button-row{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;max-width:100%}.action-button-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-icon{width:1rem;height:1rem;display:inline-flex;flex:0 0 auto}.material-icon svg{width:100%;height:100%;fill:currentColor}.saved-lock-menu-toggle .material-icon{width:1.1rem;height:1.1rem}.action-icon{width:.6rem;height:.6rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;display:inline-block}.action-icon.is-left{transform:rotate(135deg)}.action-icon.is-right{transform:rotate(-45deg)}.action-icon.is-edit,.action-icon.is-save,.action-icon.is-reset{width:.85rem;height:.85rem;border-right:0;border-bottom:0;position:relative}.action-icon.is-edit:before,.action-icon.is-edit:after,.action-icon.is-save:before,.action-icon.is-save:after,.action-icon.is-reset:before,.action-icon.is-reset:after{content:"";position:absolute}.action-icon.is-edit:before{top:.12rem;right:.18rem;bottom:.2rem;left:.1rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}.action-icon.is-edit:after{right:.05rem;top:.05rem;width:.22rem;height:.22rem;background:currentColor;transform:rotate(-45deg)}.action-icon.is-save:before{top:.08rem;right:.08rem;bottom:.08rem;left:.08rem;border:2px solid currentColor;border-radius:.1rem}.action-icon.is-save:after{left:.22rem;right:.22rem;top:.16rem;height:.16rem;background:currentColor;box-shadow:0 .28rem #0000,0 .42rem 0 -.04rem currentColor}.action-icon.is-reset:before,.action-icon.is-reset:after{left:.41rem;top:.12rem;bottom:.12rem;width:2px;background:currentColor}.action-icon.is-reset:before{transform:rotate(45deg) translate(-.08rem)}.action-icon.is-reset:after{transform:rotate(-45deg) translate(.08rem)}.action-button-subtitle{display:block;margin-top:.12rem;font-size:.68em;font-weight:400;letter-spacing:.02em;opacity:.82;line-height:1.05;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-button:hover,.action-button:focus-visible{transform:translateY(-1px);border-color:#e3a74d6b;box-shadow:var(--plaque-bevel),0 12px 26px -8px #0000009e;outline:none}.action-button[disabled],.action-button.is-disabled{opacity:.58;cursor:default;transform:none}.action-button.primary{border-color:#e3a74d80;background-color:var(--wood-plaque-primary);background-image:linear-gradient(155deg,#ffe8b414,#0003 60%),radial-gradient(circle at 7px 7px,rgba(255,230,180,.55) 0 1.1px,transparent 1.3px),radial-gradient(circle at calc(100% - 7px) 7px,rgba(255,230,180,.55) 0 1.1px,transparent 1.3px),radial-gradient(circle at 7px calc(100% - 7px),rgba(255,230,180,.55) 0 1.1px,transparent 1.3px),radial-gradient(circle at calc(100% - 7px) calc(100% - 7px),rgba(255,230,180,.55) 0 1.1px,transparent 1.3px),var(--surface-wood);background-blend-mode:soft-light,normal,normal,normal,normal,normal;background-size:100% 100%,auto,auto,auto,auto,130% 130%;background-repeat:no-repeat;background-position:center,0 0,0 0,0 0,0 0,30% 60%;box-shadow:var(--plaque-bevel),inset 0 0 0 3px #e3a74d24,0 0 24px -6px #e3a74d33,0 12px 22px -8px #0009;color:#fbeed2}.action-button.primary:hover,.action-button.primary:focus-visible{border-color:#f6cb84bf}.action-button.solve{border-color:#b7d98d80;background-color:var(--wood-plaque-primary);box-shadow:var(--plaque-bevel),inset 0 0 0 3px #b7d98d1f,0 0 24px -6px #b7d98d2e,0 12px 22px -8px #0009;color:#f1f7e3}.action-button.solve:hover,.action-button.solve:focus-visible{border-color:#cee8adbf}.action-button.secondary{border-color:#f4ead81a;background-color:var(--wood-plaque);color:var(--muted)}.action-button.compact{width:auto;max-width:none;min-width:auto;padding:.46rem .85rem;font-size:.78rem}.action-button.tertiary{width:auto;max-width:none;min-width:auto;border:1px solid rgba(244,234,216,.1);background-color:var(--wood-plaque);color:var(--muted);padding:.48rem .9rem}.action-button.icon-only{min-width:0;width:3rem;max-width:3rem;height:3rem;padding:0;display:grid;place-items:center}.action-button.icon-only .material-icon{width:1.3rem;height:1.3rem}@keyframes pulseHint{0%,to{transform:translateY(0);box-shadow:0 0 #e3a74d00}50%{transform:translateY(-1px);box-shadow:0 0 .9rem #e3a74d38}}@keyframes nudgeUp{0%,40%{transform:translate(0)}60%,93%{transform:translate(calc(-1 * (var(--hole-size) + var(--hole-gap))))}to{transform:translate(0)}}@keyframes nudgeDown{0%,40%{transform:translate(0)}60%,93%{transform:translate(calc(var(--hole-size) + var(--hole-gap)))}to{transform:translate(0)}}@keyframes cueUp{0%,to{transform:translate(calc(-50% - (var(--plate-body-width) / 2) - 1rem),-50%)}50%{transform:translate(calc(-50% - (var(--plate-body-width) / 2) - 1.35rem),-50%)}}@keyframes cueDown{0%,to{transform:translate(calc(-50% + (var(--plate-body-width) / 2) + 1rem),-50%)}50%{transform:translate(calc(-50% + (var(--plate-body-width) / 2) + 1.35rem),-50%)}}@media (max-width: 640px){:root{--stage-height: clamp(13rem, 34dvh, 16.5rem);--hole-gap: clamp(.52rem, 1.15dvh, .76rem)}.panel{min-height:100dvh;height:100dvh;padding:.65rem .7rem .8rem;background-color:var(--panel-base);background-image:var(--surface-panel);background-repeat:no-repeat;background-size:100% 100%;border:1px solid rgba(255,222,173,.1);border-radius:0;box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none}body.is-setup-mode .panel{padding-bottom:0}.app-shell{padding:0}body.is-setup-mode .app-shell{padding-bottom:0}.controls-card{padding-top:.7rem}.count-picker{flex-wrap:nowrap;gap:.4rem}.count-button{flex:1 1 0;width:auto;min-width:0;max-width:none;padding-left:.45rem;padding-right:.45rem}.lock-stage{padding-top:1.55rem}.lock-stage.is-solution-compact{--stage-height: clamp(8.2rem, 19dvh, 10.2rem);--plate-width: clamp(1.42rem, 6.2vw, 1.76rem);--hole-size: clamp(.37rem, 1.2vw, .52rem);--hole-gap: clamp(.22rem, .5vh, .28rem);--plate-padding-x: .64rem;--plate-body-thickness: clamp(1.78rem, 5.8vw, 2.22rem);--plate-lane-height: max(clamp(2.38rem, 7.7vw, 3.08rem), calc(var(--plate-body-thickness) + .4rem));padding-top:.72rem}.plates-row{gap:.06rem;width:100%}.plate-button{height:2.35rem;border-radius:.15rem;width:clamp(2.3rem,7vw,2.8rem)}.plate-column .plate-button[data-direction=left]{margin-right:-0rem}.plate-column .plate-button[data-direction=right]{margin-left:0rem}.stage-inline-actions{margin-top:.45rem}.stage-inline-actions[data-mode=linking]{width:100%;max-width:100%;align-self:stretch}.app-version,.hero-title{font-size:.56rem}body.is-setup-mode .hero-title,body.is-linking-mode .hero-title,body.is-solution-mode .hero-title,body.is-load-mode .hero-title,body.is-import-mode .hero-title{font-size:.98rem}body.is-menu-mode .hero-title{font-size:clamp(1.15rem,5.3vw,1.62rem)}.footer-actions{flex-wrap:wrap}.action-button{min-width:100%}.action-button.compact,.action-button.tertiary{min-width:auto}.bottom-panel-actions--separate,.solution-progress-nav{gap:.35rem}.solution-nav-button{width:2.8rem;height:2.8rem}.bottom-panel-actions--separate .action-button.tertiary{flex:0 0 auto;padding:0}.bottom-panel-actions--separate .action-button-row{gap:.28rem}.bottom-panel-actions--separate .action-button.icon-only{width:2.85rem;height:2.85rem}.bottom-panel-actions--separate .action-button.icon-only .material-icon{width:1.2rem;height:1.2rem}.footer-actions[data-count="2"]{flex-wrap:nowrap}.footer-actions[data-count="2"] .action-button{min-width:0;flex:1 1 0}.footer-actions[data-count="3"]{flex-wrap:nowrap}.footer-actions[data-count="3"] .action-button{min-width:0;flex:1 1 0}.footer-actions[data-count="3"] .action-button.icon-only{flex:0 0 auto;width:3.05rem;min-width:3.05rem}.footer-actions[data-mode=linking]{flex-wrap:nowrap}.footer-actions[data-mode=linking] .action-button{min-width:0;flex:1 1 0}.footer-actions[data-mode=solution],.footer-actions[data-mode=ready_to_solve]{flex-wrap:nowrap}.footer-actions[data-mode=solution] .action-button,.footer-actions[data-mode=ready_to_solve] .action-button{min-width:0;flex:1 1 0}}@media (display-mode: standalone),(display-mode: fullscreen){html,body{height:var(--app-viewport-height);overflow:hidden}.app-shell{min-height:var(--app-layout-viewport-height);height:var(--app-layout-viewport-height);padding-bottom:calc(.65rem + env(safe-area-inset-bottom,0px));overflow:hidden}.panel{min-height:calc(var(--app-layout-viewport-height) - 1.3rem - env(safe-area-inset-bottom,0px));height:calc(var(--app-layout-viewport-height) - 1.3rem - env(safe-area-inset-bottom,0px));overflow:hidden}}@media (display-mode: standalone) and (max-width: 640px),(display-mode: fullscreen) and (max-width: 640px){.app-shell{padding:0}body.is-setup-mode .app-shell{padding-bottom:0}.panel{min-height:var(--app-layout-viewport-height);height:var(--app-layout-viewport-height)}}
