.letter-lock-module__ELEBOa__panel,.letter-lock-module__ELEBOa__dialog,.letter-lock-module__ELEBOa__tile{--ll-background:#fff;--ll-foreground:#0a0a0a;--ll-muted-foreground:#737373;--ll-accent:#f5f5f5;--ll-accent-foreground:#171717;--ll-destructive:#e40014;--ll-border:#e5e5e5;--ll-ring:#a1a1a1;font-family:var(--font-sans), system-ui, sans-serif;color:var(--ll-foreground);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}@supports (color:lab(0% 0 0)){.letter-lock-module__ELEBOa__panel,.letter-lock-module__ELEBOa__dialog,.letter-lock-module__ELEBOa__tile{--ll-background:lab(100% 0 0);--ll-foreground:lab(2.75381% 0 0);--ll-muted-foreground:lab(48.496% 0 0);--ll-accent:lab(96.52% -.0000298023 .0000119209);--ll-accent-foreground:lab(7.78201% -.0000149012 0);--ll-destructive:lab(48.4493% 77.4328 61.5452);--ll-border:lab(90.952% 0 -.0000119209);--ll-ring:lab(66.128% -.0000298023 .0000119209)}}.letter-lock-module__ELEBOa__dialog{overscroll-behavior:contain;border:1px solid var(--ll-border);background:var(--ll-background);border-radius:10px;outline:none;width:min(512px,100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.letter-lock-module__ELEBOa__dialog::backdrop{background:#00000080;animation:.2s ease-out letter-lock-module__ELEBOa__backdropEnter}.letter-lock-module__ELEBOa__dialog[data-closing]::backdrop{opacity:0;transition:opacity .2s ease-in}.letter-lock-module__ELEBOa__dialogInner{background:var(--ll-background);border-radius:inherit;position:relative}.letter-lock-module__ELEBOa__panel{background:var(--ll-background);gap:16px;padding:24px;display:grid}.letter-lock-module__ELEBOa__close{width:16px;height:16px;color:var(--ll-foreground);opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:2px;place-items:center;padding:0;transition:opacity .15s;display:grid;position:absolute;top:16px;right:16px}.letter-lock-module__ELEBOa__close:after{content:"";position:absolute;inset:-14px}.letter-lock-module__ELEBOa__close:focus-visible{outline:2px solid var(--ll-ring);outline-offset:2px;opacity:1}.letter-lock-module__ELEBOa__header{text-align:left;flex-direction:column;gap:8px;padding-right:16px;display:flex}.letter-lock-module__ELEBOa__header h2{letter-spacing:normal;text-wrap:balance;margin:0;font-size:18px;font-weight:600;line-height:1}.letter-lock-module__ELEBOa__header>p{color:var(--ll-muted-foreground);margin:0;font-size:14px;line-height:1.5}.letter-lock-module__ELEBOa__instrument{isolation:isolate;background:linear-gradient(165deg,#f4f5f6 0%,#eef0f1 34%,#e9ebed 74%,#e2e5e7 100%);border-radius:11px;padding:25px 22px 10px;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffffffa,inset 1px 0 #fff9,inset -1px 0 #2a2d310f,inset 0 -1px #2a2d311f,0 0 0 1px #21242817,0 2px 3px #00000009}.letter-lock-module__ELEBOa__instrument:before,.letter-lock-module__ELEBOa__tileArtifact:before{content:"";opacity:.14;mix-blend-mode:multiply;pointer-events:none;z-index:1;background-image:url(/interaction/letter-lock/faceplate.svg);position:absolute;inset:0}.letter-lock-module__ELEBOa__plateReflection{pointer-events:none;z-index:-1;background:radial-gradient(#ffffff59,#ffffff12 56%,#0000 74%);border-radius:50%;width:85%;height:135%;position:absolute;top:-65%;left:-10%}.letter-lock-module__ELEBOa__screw{pointer-events:none;background:linear-gradient(140deg,#e8ecef,#adb3b8);border-radius:50%;width:7px;height:7px;position:absolute;top:11px;box-shadow:inset 0 1px 1px #fffc,inset 0 -1px 1px #0003,0 0 0 1px #0000000f}.letter-lock-module__ELEBOa__screw:after{content:"";background:#7f898f;width:5px;height:1px;position:absolute;top:3px;left:1px;transform:rotate(-32deg);box-shadow:0 1px #ffffff80}.letter-lock-module__ELEBOa__screwLeft{left:11px}.letter-lock-module__ELEBOa__screwRight{right:11px;transform:rotate(73deg)}.letter-lock-module__ELEBOa__instrumentLegend{color:#969ca1;font-family:var(--font-mono), monospace;letter-spacing:.09em;text-shadow:0 1px #fffc;justify-content:space-between;align-items:center;gap:10px;padding:0 4px;font-size:9px;display:flex;position:relative}.letter-lock-module__ELEBOa__instrumentLegend>span:first-child{align-items:center;gap:7px;display:flex}.letter-lock-module__ELEBOa__instrumentLegend i{background:#a6aaad;border-radius:50%;width:2px;height:2px;display:block}.letter-lock-module__ELEBOa__instrumentLegend strong{color:#61676c;letter-spacing:.14em;margin-left:7px;font-size:11px;font-weight:450}.letter-lock-module__ELEBOa__displaySurround{background:#d1d6d9;border-radius:8px;margin:14px 2px 22px;padding:5px;box-shadow:inset 0 1px 2px #2124281f,inset 0 -1px #fffc}.letter-lock-module__ELEBOa__display{background:#eeeedf;border-radius:4px;position:relative;overflow:hidden;box-shadow:inset 0 1px 4px #36392b1f,inset 0 0 0 1px #3d422c17,0 1px #ffffff8c}.letter-lock-module__ELEBOa__display:before{content:"";opacity:.13;pointer-events:none;background-image:radial-gradient(#666b47 .45px,#0000 .45px);background-size:3px 3px;position:absolute;inset:0}.letter-lock-module__ELEBOa__displayGlint{pointer-events:none;background:linear-gradient(176deg,#ffffff40 0%,#ffffff0a 85%,#0000);height:140%;position:absolute;top:-80%;left:-10%;right:-10%;transform:rotate(-5deg)}.letter-lock-module__ELEBOa__readout{grid-template-columns:repeat(var(--letter-count), minmax(0, 1fr));gap:0;max-width:530px;margin:auto;padding:11px 12px 14px;display:grid;position:relative}.letter-lock-module__ELEBOa__readout>span{flex-direction:column;align-items:center;gap:2px;display:flex}.letter-lock-module__ELEBOa__readout small{color:#8c937e;font-family:var(--font-mono), monospace;letter-spacing:.09em;font-size:8px;line-height:1.5}.letter-lock-module__ELEBOa__readout strong{color:#434b3d;font-family:var(--font-mono), monospace;text-shadow:0 1px #ffffff73;font-size:27px;font-weight:500;line-height:1.1}.letter-lock-module__ELEBOa__knobGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 8px;display:grid;position:relative}.letter-lock-module__ELEBOa__knobGrid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:260px;margin:auto}.letter-lock-module__ELEBOa__knobGrid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr));max-width:390px;margin:auto}.letter-lock-module__ELEBOa__knobGrid[data-count="4"],.letter-lock-module__ELEBOa__knobGrid[data-count="7"],.letter-lock-module__ELEBOa__knobGrid[data-count="8"]{grid-template-columns:repeat(4,minmax(0,1fr))}.letter-lock-module__ELEBOa__knobGrid[data-count="5"]{grid-template-columns:repeat(3,minmax(0,1fr))}.letter-lock-module__ELEBOa__knobCell{text-align:center;min-width:0}.letter-lock-module__ELEBOa__ratchet{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:50%;position:relative}.letter-lock-module__ELEBOa__ratchet:active{cursor:grabbing}.letter-lock-module__ELEBOa__dialControl{aspect-ratio:1;width:100%;max-width:124px;margin:auto}.letter-lock-module__ELEBOa__dialTicks{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.letter-lock-module__ELEBOa__dialTicks line{stroke:#a5adb3;stroke-width:1px}.letter-lock-module__ELEBOa__dialLetters{pointer-events:none;position:absolute;inset:0}.letter-lock-module__ELEBOa__dialLetters>span{color:#56626b;text-shadow:0 1px #fffc;font-family:var(--font-mono), monospace;font-size:10px;font-weight:450;position:absolute;transform:translate(-50%,-50%)}.letter-lock-module__ELEBOa__knobAssembly{pointer-events:none;border-radius:50%;position:absolute;inset:20%}.letter-lock-module__ELEBOa__contactShadow{opacity:.6;background:#747c83;border-radius:50%;position:absolute;inset:-4%;transform:translateY(2px);box-shadow:0 1px 1px #0003,0 4px 5px -1px #00000042,0 11px 10px -5px #0000003b}.letter-lock-module__ELEBOa__knobSkirt{background:linear-gradient(150deg,#5e6367 0%,#282c2f 40%,#151719 80%,#0e1011);border-radius:50%;position:absolute;inset:-1%;box-shadow:inset 0 1px 1px #ffffff2e,inset 0 -1px 1px #0009}.letter-lock-module__ELEBOa__knobRotor{background:repeating-conic-gradient(#3e4449 0deg 3deg,#20252a 3.5deg 7deg,#101418 7.5deg 10deg);border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000004d}.letter-lock-module__ELEBOa__knobCrown{background:linear-gradient(148deg,#4d5459 0%,#30373c 34%,#22282d 65%,#171d22 100%);border-radius:50%;position:absolute;inset:7%;box-shadow:inset 0 1px 1px #ffffff3b,inset 0 -1px 1px #00000080,0 0 0 1px #00000029}.letter-lock-module__ELEBOa__knobCrown:after{content:"";background:repeating-radial-gradient(circle,#0000 0 1px,#00000006 1.2px 1.6px);border-radius:50%;position:absolute;inset:9%;box-shadow:inset 0 0 0 .5px #ffffff08}.letter-lock-module__ELEBOa__indicatorRotor{border-radius:50%;position:absolute;inset:0}.letter-lock-module__ELEBOa__indicator{background:#e5e5d6;border-radius:2px;width:3px;height:19%;position:absolute;top:11%;left:calc(50% - 1.5px);box-shadow:0 0 0 1px #00000038,0 1px 1px #0003}.letter-lock-module__ELEBOa__faceReflection{background:radial-gradient(at 26% 20%,#ffffff12,#0000 60%);border-radius:50%;position:absolute;inset:9%}.letter-lock-module__ELEBOa__dialNumber{color:#989fa5;font-family:var(--font-mono), monospace;letter-spacing:.06em;text-shadow:0 1px #fffc;margin-top:7px;font-size:8px;display:block}.letter-lock-module__ELEBOa__instrumentFoot{color:#8d959b;justify-content:space-between;align-items:center;gap:10px;padding:8px 3px 0;font-size:10px;display:flex}.letter-lock-module__ELEBOa__instrumentFoot>span{align-items:center;gap:5px;display:flex}.letter-lock-module__ELEBOa__helpDivider{color:#b5bbc0;padding:0 3px}.letter-lock-module__ELEBOa__instrumentFoot button{color:#7c858c;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 6px;font-size:10px;display:flex}.letter-lock-module__ELEBOa__validation{color:var(--ll-muted-foreground);align-items:center;gap:8px;min-height:20px;font-size:12px;display:flex}.letter-lock-module__ELEBOa__validation>svg{flex-shrink:0}.letter-lock-module__ELEBOa__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.letter-lock-module__ELEBOa__actions button,.letter-lock-module__ELEBOa__tileActions button{height:36px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;outline:none;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;line-height:20px;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.letter-lock-module__ELEBOa__cancel,.letter-lock-module__ELEBOa__tileActions button{color:var(--ll-foreground);background:var(--ll-background);border:1px solid var(--ll-border);box-shadow:0 1px 2px #0000000d}.letter-lock-module__ELEBOa__delete{background:var(--ll-destructive);color:#fff;border:1px solid #0000}.letter-lock-module__ELEBOa__tileActions .letter-lock-module__ELEBOa__tileDelete{background:var(--ll-destructive);color:#fff;box-shadow:none;border-color:#0000}.letter-lock-module__ELEBOa__actions button:disabled{opacity:.5;pointer-events:none}.letter-lock-module__ELEBOa__panel button,.letter-lock-module__ELEBOa__close,.letter-lock-module__ELEBOa__tile button{touch-action:manipulation}:is(html:not([data-input=pointer]) .letter-lock-module__ELEBOa__actions button:focus-visible,html:not([data-input=pointer]) .letter-lock-module__ELEBOa__tileActions button:focus-visible){border-color:var(--ll-ring);box-shadow:0 0 0 3px color-mix(in oklch, var(--ll-ring) 50%, transparent)}:is(html:not([data-input=pointer]) .letter-lock-module__ELEBOa__actions .letter-lock-module__ELEBOa__delete:focus-visible,html:not([data-input=pointer]) .letter-lock-module__ELEBOa__tileActions .letter-lock-module__ELEBOa__tileDelete:focus-visible){box-shadow:0 0 0 3px color-mix(in oklch, var(--ll-destructive) 20%, transparent)}.letter-lock-module__ELEBOa__ratchet:focus-visible,.letter-lock-module__ELEBOa__instrumentFoot button:focus-visible{outline:2px solid var(--ll-ring);outline-offset:2px}.letter-lock-module__ELEBOa__tile{font-family:var(--font-sans), system-ui, sans-serif;color:#4a4b49;flex-direction:column;gap:17px;display:flex}.letter-lock-module__ELEBOa__tileProject{align-items:center;gap:7px;font-size:11px;display:flex}.letter-lock-module__ELEBOa__tileProject>span:last-child{font-family:var(--font-mono), monospace;color:#9a9b96;letter-spacing:.08em;margin-left:auto;font-size:8px}.letter-lock-module__ELEBOa__tileArtifact{background:linear-gradient(150deg,#f0f2f4,#e5e9ec);border-radius:10px;padding:24px 20px 13px;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff,inset 0 -1px #1f22261a,0 0 0 1px #1f22260f}.letter-lock-module__ELEBOa__tileReadout{text-align:center;color:#56614d;font-family:var(--font-mono), monospace;letter-spacing:.33em;text-indent:.33em;background:#edeee0;border-radius:4px;margin:0 5px 12px;padding:9px 0;font-size:21px;box-shadow:inset 0 1px 2px #00000021,0 1px #fff}.letter-lock-module__ELEBOa__tileKnobs{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.letter-lock-module__ELEBOa__tileKnobs>div{aspect-ratio:1;position:relative}.letter-lock-module__ELEBOa__tileKnobs .letter-lock-module__ELEBOa__knobAssembly{inset:10%}.letter-lock-module__ELEBOa__tileActions{justify-content:space-between;align-items:center;gap:10px;display:flex}.letter-lock-module__ELEBOa__tileActions>span{color:#979993;align-items:center;gap:5px;font-size:10px;display:flex}.letter-lock-module__ELEBOa__tileTrigger{flex-shrink:0;position:relative}.letter-lock-module__ELEBOa__tilePrompt{z-index:2;border:1px solid var(--ll-border);background:var(--ll-background);width:220px;color:var(--ll-foreground);pointer-events:none;border-radius:6px;padding:8px 12px;font-size:12px;line-height:1.5;animation:.18s cubic-bezier(.32,.72,0,1) letter-lock-module__ELEBOa__promptEnter;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.letter-lock-module__ELEBOa__tileActions button[data-prompted]{box-shadow:0 0 0 3px color-mix(in oklch, var(--ll-destructive) 20%, transparent)}@keyframes letter-lock-module__ELEBOa__promptEnter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes letter-lock-module__ELEBOa__backdropEnter{0%{opacity:0}to{opacity:1}}@media (hover:hover) and (pointer:fine){.letter-lock-module__ELEBOa__close:hover{opacity:1}.letter-lock-module__ELEBOa__cancel:hover,.letter-lock-module__ELEBOa__tileActions button:not(.letter-lock-module__ELEBOa__tileDelete):hover{background:var(--ll-accent);color:var(--ll-accent-foreground)}.letter-lock-module__ELEBOa__delete:hover:not(:disabled),.letter-lock-module__ELEBOa__tileActions .letter-lock-module__ELEBOa__tileDelete:hover:not(:disabled){background:color-mix(in oklch, var(--ll-destructive) 90%, transparent)}.letter-lock-module__ELEBOa__instrumentFoot button:hover{color:#434c54}}@media (max-width:660px){.letter-lock-module__ELEBOa__instrument{padding:24px 14px 7px}.letter-lock-module__ELEBOa__instrumentLegend{gap:7px;font-size:8px}.letter-lock-module__ELEBOa__instrumentLegend strong{margin-left:3px;font-size:10px}.letter-lock-module__ELEBOa__readout{padding:10px 3px 12px}.letter-lock-module__ELEBOa__readout strong{font-size:24px}.letter-lock-module__ELEBOa__knobGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 8px}.letter-lock-module__ELEBOa__knobGrid[data-count="4"],.letter-lock-module__ELEBOa__knobGrid[data-count="5"],.letter-lock-module__ELEBOa__knobGrid[data-count="7"],.letter-lock-module__ELEBOa__knobGrid[data-count="8"]{grid-template-columns:repeat(3,minmax(0,1fr))}.letter-lock-module__ELEBOa__dialNumber{margin-top:4px;font-size:8px}.letter-lock-module__ELEBOa__displaySurround{margin:14px 2px 21px;padding:4px}.letter-lock-module__ELEBOa__instrumentFoot{padding-top:12px;font-size:9px}.letter-lock-module__ELEBOa__instrumentFoot button{font-size:9px}.letter-lock-module__ELEBOa__helpDivider{padding:0}}@media (max-width:639px){.letter-lock-module__ELEBOa__header{text-align:center;padding-right:0}.letter-lock-module__ELEBOa__actions{flex-direction:column-reverse;align-items:stretch}}@media (prefers-reduced-motion:reduce){.letter-lock-module__ELEBOa__panel *,.letter-lock-module__ELEBOa__tile *,.letter-lock-module__ELEBOa__dialog::backdrop{transition:none!important;animation:none!important}}
