:root{--serif: "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, "Liberation Serif", serif;--sans: "Avenir Next", "Segoe UI", "Liberation Sans", "DejaVu Sans", sans-serif;--ink: #f6efe4;--brass: #e0b56a;--copper: #e0893c;color:var(--ink);background:#241c18;font-family:var(--sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button,svg{font:inherit}.app{height:100%;display:flex;flex-direction:column;background:radial-gradient(120% 80% at 50% 0%,#3a2d26,#241c18 46%,#1a1411);-webkit-user-select:none;user-select:none}.bench{position:relative;flex:1;min-height:0;margin:8px 8px 0;border-radius:14px 14px 6px 6px;background:radial-gradient(90% 78% at 50% 40%,#fffaf3,#f4ecdf 58%,#e5d7c4);box-shadow:0 0 0 1px #1a1410,0 18px 40px #00000052,inset 0 0 0 1px #fffaf0d9,inset 0 0 90px #96602814;overflow:hidden}.table{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:default}.table.can-place{cursor:crosshair}.table.can-grab{cursor:grab}.table.is-dragging{cursor:grabbing}.table.solder-mode{cursor:none}.glass{filter:drop-shadow(0 2px 1px rgba(70,40,15,.16))}.ghost,.reticle,.turn{filter:none}.note{position:absolute;left:22px;bottom:16px;margin:0;max-width:460px;font-family:var(--serif);font-style:italic;font-size:14.5px;line-height:1.35;color:#8d7b68;pointer-events:none}.note-empty{left:50%;top:46%;bottom:auto;width:min(440px,calc(100% - 48px));transform:translate(-50%,-50%);text-align:center;font-size:22px;line-height:1.4;color:#b3a08c}.tray{flex:none;display:flex;align-items:center;gap:16px;height:116px;padding:0 20px;background:linear-gradient(180deg,rgba(255,220,180,.16),transparent 22%),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 2px,transparent 2px 6px),linear-gradient(180deg,#4e3e33,#3a2d25 28%,#2a211c);border-top:1px solid #7d6248;box-shadow:inset 0 1px #ffe2be33}.mark{width:148px;flex:none}.mark strong{display:block;font-family:var(--serif);font-weight:560;font-size:23px;letter-spacing:-.03em;color:#f7f1e6;line-height:1}.mark span{display:block;margin-top:6px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#c4b09a}.piece-rail{min-width:0;flex:1;display:flex;gap:4px;overflow-x:auto;padding:6px;border-radius:12px;background:#0000003d;box-shadow:inset 0 2px 8px #00000061,inset 0 0 0 1px #ffdcb40d}.piece-rail::-webkit-scrollbar{height:8px}.piece-rail::-webkit-scrollbar-thumb{background:#6d5644;border-radius:99px}.shape-btn,.solder{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:10px;background:transparent;color:#eadccb;cursor:pointer}.shape-btn{width:72px;height:80px;padding:4px 4px 6px}.shape-btn span,.solder span{font-size:10.5px;letter-spacing:.04em;line-height:1;color:#e6d5c4}.glyph{width:36px;height:36px;display:block}.shape-btn[aria-pressed=true]{background:#ffecd224;box-shadow:inset 0 0 0 1px var(--brass)}.shape-btn[aria-pressed=true] span{color:#fff8ee}.shape-btn:active,.solder:active{transform:translateY(1px)}.shape-btn:focus-visible,.solder:focus-visible{outline:2px solid #f0d7a4;outline-offset:2px}.tray-rule{width:1px;height:68px;flex:none;background:linear-gradient(#8a6d52,#3d2e24 70%,#2a211c)}.solder{width:84px;height:80px;color:#f3e6d6}.iron{width:30px;height:30px;display:block}.solder[aria-pressed=true]{background:#6e3d22;color:#ffe7c8;box-shadow:inset 0 0 0 1px #e7a15a,0 0 0 3px #e0964647}.solder[aria-pressed=true] span{color:#ffe7c8}@media(max-width:820px){.mark{width:auto}.mark strong,.note-empty{font-size:18px}.tray{gap:10px;padding:0 12px}}
