.letters{padding-top:56px}.letters .kicker{font-size:12px;color:var(--mute);text-transform:uppercase;margin-bottom:20px}.letters h1{font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-.04em;font-weight:700;margin-bottom:24px}.letters h1 span{font-weight:400;letter-spacing:0}.letters .lede{max-width:640px;font-size:19px;line-height:1.5;color:#2b2b2a;margin-bottom:48px}.letters .step{display:grid;grid-template-columns:80px 1fr;border-top:1px solid var(--fg);padding:28px 0 48px}.letters .n{font-size:12px;color:var(--mute);padding-top:8px}.letters h2{font-size:30px;letter-spacing:-.02em;font-weight:600;margin:0 0 10px}.letters .body>p{max-width:640px;color:#3a3a38;line-height:1.55;margin-bottom:18px}.letters .row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.letters label.mono{font-size:12px;color:var(--mute);display:flex;flex-direction:column;gap:6px}.letters input[type=text],.letters input[type=file]{font:inherit;font-size:15px;color:var(--fg);padding:9px 10px;border:1px solid var(--fg);background:#fff;border-radius:3px;min-width:min(260px,100%);max-width:100%}.letters .status{font-size:13px;color:var(--ink);min-height:1.4em;margin:8px 0}.letters .status.bad{color:#a3122a}.letters .thumbs{display:flex;gap:10px;flex-wrap:wrap}.letters .thumb{position:relative;width:92px;height:92px;border:1px solid var(--rule);background:#fff;padding:0;cursor:pointer;overflow:hidden}.letters .thumb img{width:100%;height:100%;object-fit:cover}.letters .thumb span{position:absolute;left:4px;top:4px;font-size:11px;background:#fff;padding:0 4px}.letters .thumb.on{outline:2px solid var(--ink);outline-offset:2px}.letters .workbench{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.letters .body{min-width:0}.letters .modes{display:flex}.letters .modes button{font:12px Plex,monospace;padding:6px 10px;border:1px solid var(--fg);background:#fff;color:var(--fg);cursor:pointer}.letters .modes button+button{border-left:0}.letters .modes button.on{background:var(--fg);color:#fff}.letters .nextbtn{background:none;border:0;border-bottom:1px solid var(--ink);padding:0 0 2px;font:500 14px Schibsted,sans-serif;color:var(--ink);cursor:pointer}.letters input[type=file]{width:100%;max-width:420px}.letters .stage.move{cursor:grab;touch-action:auto}.letters .viewtools{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 16px;font-size:12px;color:var(--mute);margin-bottom:8px}.letters .viewtools label{flex-direction:row!important;align-items:center}.letters .viewtools input{accent-color:var(--ink)}.letters #picking{color:var(--ink);font-size:13px}.letters .viewer{border:1px solid var(--fg);max-height:min(70vh,640px);overflow:auto;background:#eee;touch-action:pan-x pan-y}.letters .stage{position:relative;cursor:crosshair;user-select:none;touch-action:none}.letters .stage img{display:block;width:100%;height:auto}.letters .mark{position:absolute;border:1px solid var(--fg);background:#fbfbfa26;pointer-events:none}.letters .mark span{position:absolute;left:-1px;top:-18px;font:11px Plex,monospace;background:var(--fg);color:#fff;padding:1px 4px;line-height:16px}.letters .mark.sel{border:2px solid var(--ink)}.letters .mark.sel span{background:var(--ink)}.letters .band{position:absolute;border:2px dashed var(--ink);background:#1d3bb314;pointer-events:none}.letters .side{position:sticky;top:16px}.letters .count{font-size:12px;color:var(--fg);margin-bottom:10px;line-height:1.5}.letters .gname{font-size:11px;color:var(--mute);text-transform:uppercase;margin:12px 0 6px}.letters .pal{display:grid;grid-template-columns:repeat(9,1fr);border-left:1px solid var(--rule);border-top:1px solid var(--rule)}.letters .pc{aspect-ratio:1;border:0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:#fff;font:15px Plex,monospace;color:var(--mute);cursor:pointer;padding:0}.letters .pc.has{background:var(--fg);color:#fff}.letters .pc.sel{outline:2px solid var(--ink);outline-offset:-2px;color:var(--ink)}.letters .pc.has.sel{background:var(--ink);color:#fff}.letters .detail{border:1px solid var(--fg);background:#fff;padding:12px;margin-top:16px;display:flex;flex-direction:column;gap:10px}.letters .dh{display:flex;justify-content:space-between;font-size:12px}.letters .x{border:0;background:none;font:12px Plex,monospace;color:#a3122a;cursor:pointer;text-decoration:underline}.letters canvas{width:100%;height:auto;border:1px solid var(--rule)}.letters input[type=range]{width:100%;accent-color:var(--ink)}.letters .hint{font-size:11px;color:var(--mute);margin:0}.letters .actions{margin-top:24px}.letters .summary{max-width:none!important}.letters .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));border-left:1px solid var(--rule);border-top:1px solid var(--rule);margin-bottom:28px}.letters .cell{position:relative;aspect-ratio:1;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:#fff}.letters .cell img{position:absolute;inset:8px 8px 14px;width:calc(100% - 16px);height:calc(100% - 22px);object-fit:contain}.letters .cell span{position:absolute;left:4px;bottom:2px;font-size:10px;color:var(--mute)}.letters .cell.empty{background:repeating-linear-gradient(135deg,#fff 0 6px,#eee 6px 7px)}.letters .tryline{font-size:clamp(40px,7vw,96px);line-height:1.15;outline:none;border-bottom:1px solid var(--rule);padding:12px 0 20px;margin-bottom:12px;word-break:break-word}@media(max-width:980px){.letters .workbench{grid-template-columns:minmax(0,1fr)}.letters .side{position:static;display:flex;flex-direction:column}.letters .detail{order:-1;margin:0 0 16px}}@media(max-width:720px){.letters .step{grid-template-columns:1fr}}
