.lf{font-family:var(--f-ui), system-ui, sans-serif;color:var(--text);padding:28px 0 64px}.lf-head{gap:8px;margin-bottom:22px;display:grid}.lf-head h1{font:800 clamp(34px, 5vw, 56px)/.98 var(--f-display), system-ui, sans-serif;letter-spacing:-.045em;margin:0}.lf-head p{color:var(--muted);max-width:56ch;margin:0;font-size:17px}.lf-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.lf-main{gap:14px;min-width:0;display:grid}.lf-card{background:var(--panel);box-shadow:0 1px 0 var(--line);border-radius:20px;gap:12px;padding:20px;display:grid}.lf-card h2{font:800 20px var(--f-display), system-ui, sans-serif;letter-spacing:-.02em;align-items:center;gap:10px;margin:0;display:flex}.lf-n{font:600 12px var(--f-num), ui-monospace, monospace;color:var(--accent);background:var(--accent-soft);letter-spacing:0;border-radius:999px;padding:3px 9px}.lf-coin{grid-template-columns:140px minmax(0,1fr);align-items:start;gap:16px;display:grid}.lf-drop{background:var(--bg);width:140px;height:140px;box-shadow:inset 0 0 0 2px var(--accent-mid);cursor:pointer;border-radius:18px;place-items:center;transition:box-shadow .15s;display:grid;position:relative;overflow:hidden}.lf-drop:hover,.lf-drop:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.lf-drop.has{box-shadow:none}.lf-drop img{object-fit:cover;width:100%;height:100%}.lf-drop .tile{border-radius:0;width:100%;height:100%}.lf-drop-plus{font:300 44px/1 var(--f-display), system-ui, sans-serif;color:var(--accent);margin-bottom:18px}.lf-drop-t{white-space:nowrap;background:var(--panel);color:var(--text);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;position:absolute;bottom:10px;left:50%;translate:-50%;box-shadow:0 2px 8px -4px #1210144d}.lf-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.lf-fields{gap:12px;min-width:0;display:grid}.lf-fields-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.lf-field{gap:6px;min-width:0;display:grid}.lf-field>span{color:var(--muted);font-size:13px;font-weight:700}.lf-label-row{justify-content:space-between;align-items:baseline;display:flex}.lf-label-row em{font:500 12px var(--f-num), ui-monospace, monospace;color:var(--muted);font-style:normal}.lf-field input,.lf-field textarea{background:var(--bg);width:100%;min-width:0;color:var(--text);font:500 15px var(--f-ui), system-ui, sans-serif;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:12px;padding:12px 14px;transition:box-shadow .15s,background .15s}.lf-field textarea{resize:vertical;line-height:1.5}.lf-field input:focus,.lf-field textarea:focus{background:var(--panel);box-shadow:inset 0 0 0 2px var(--accent);outline:0}.lf-field input::placeholder,.lf-field textarea::placeholder{color:var(--muted);opacity:.7}.lf-ticker{display:block;position:relative}.lf-ticker i{font:600 15px var(--f-num), ui-monospace, monospace;color:var(--accent);font-style:normal;position:absolute;top:50%;left:14px;translate:0 -50%}.lf-ticker input{font-family:var(--f-num), ui-monospace, monospace;letter-spacing:.02em;padding-left:28px;font-weight:600}.lf-thesis{font-family:var(--f-display), system-ui, sans-serif!important;font-size:17px!important;font-weight:600!important}.lf-links summary{cursor:pointer;color:var(--text);align-items:center;gap:6px;font-size:14px;font-weight:700;list-style:none;display:inline-flex}.lf-links summary::-webkit-details-marker{display:none}.lf-links summary:before{content:"+";background:var(--accent-soft);width:20px;height:20px;color:var(--accent);border-radius:6px;place-items:center;font-weight:800;display:grid}.lf-links[open] summary:before{content:"−"}.lf-chips{flex-wrap:wrap;gap:8px;display:flex}.lf-chip{background:var(--bg);height:38px;color:var(--text);font:600 14px var(--f-num), ui-monospace, monospace;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:999px;padding:0 16px;transition:background .15s,color .15s}.lf-chip:hover{background:var(--accent-soft)}.lf-chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);box-shadow:none}.lf-chip-input{cursor:text;width:110px}.lf-chip-input:focus{background:var(--panel);box-shadow:inset 0 0 0 2px var(--accent);outline:0}.lf-btn{height:44px;font:700 15px var(--f-ui), system-ui, sans-serif;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex}.lf-btn:active{transform:translateY(1px)}.lf-btn:disabled{opacity:.5;cursor:default;transform:none}.lf-btn-pink{background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 22px -10px var(--accent)}.lf-btn-ink{background:var(--text);color:var(--panel)}.lf-btn-ghost{background:var(--panel);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.lf-btn-lg{border-radius:14px;width:100%;height:54px;padding:0 28px;font-size:17px}.lf-btn-sm{border-radius:10px;height:34px;padding:0 14px;font-size:13px}.lf-stack{gap:8px;display:grid}.lf-row{flex-wrap:wrap;gap:8px;display:flex}.lf-muted{color:var(--muted);font-size:13px}.lf-bad{font-size:13px;font-weight:600;color:var(--dn)!important}.lf-num{font-family:var(--f-num), ui-monospace, monospace;font-variant-numeric:tabular-nums}.lf-note{background:var(--bg);border-radius:16px;gap:10px;margin:0;padding:14px 16px;font-size:14px;display:grid}.lf-warn{background:var(--dn-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--dn-soft)}.lf-warn>span:first-child{font-weight:600}.lf-good{background:var(--up-soft)}.lf-good b{font:800 18px var(--f-display), system-ui, sans-serif}.lf-good code{font:500 13px var(--f-num), ui-monospace, monospace;word-break:break-all;color:var(--text)}.lf-steps{counter-reset:s;gap:4px;margin:0;padding:0;list-style:none;display:grid}.lf-steps li{counter-increment:s;color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.lf-steps li:before{content:counter(s);width:24px;height:24px;font:600 12px var(--f-num), ui-monospace, monospace;background:var(--bg);color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.lf-steps li[data-s=active]{color:var(--text);background:var(--accent-soft);font-weight:600}.lf-steps li[data-s=active]:before{background:var(--accent);color:var(--accent-ink);animation:1.1s ease-in-out infinite lf-pulse}.lf-steps li[data-s=done]{color:var(--text)}.lf-steps li[data-s=done]:before{content:"✓";background:var(--up-soft);color:var(--up)}.lf-steps li[data-s=error]{color:var(--dn);background:var(--dn-soft);font-weight:600}.lf-steps li[data-s=error]:before{content:"!";background:var(--dn);color:var(--panel)}.lf-steps a{color:var(--accent);margin-left:auto;font-weight:700;text-decoration:none}@keyframes lf-pulse{50%{opacity:.45}}.lf-side{gap:12px;display:grid;position:sticky;top:16px}.lf-preview{background:var(--panel);box-shadow:0 1px 0 var(--line);border-radius:20px;justify-items:center;gap:16px;padding:22px;display:grid;overflow:hidden}.lf-sticker{background:var(--panel);width:200px;box-shadow:0 20px 40px -18px #1e141e38, inset 0 0 0 1px var(--line);border-radius:22px;padding:10px;animation:6s ease-in-out infinite lf-bob;rotate:-3deg}.lf-sticker .tile{width:100%}.lf-paired{color:var(--muted);margin:14px 0 0;font-size:13px}.lf-paired b{color:var(--text);font-family:var(--f-num)}.lf-sticker img,.lf-sticker-empty{aspect-ratio:1;object-fit:cover;border-radius:14px;width:100%;display:block}.lf-sticker-empty{background:linear-gradient(140deg, var(--accent-soft), var(--accent-mid));color:var(--accent);font:800 34px var(--f-display), system-ui, sans-serif;letter-spacing:-.03em;place-items:center;display:grid}.lf-sticker b{justify-content:space-between;gap:8px;margin-top:8px;font-size:14px;display:flex}.lf-sticker b span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lf-sticker b .lf-num{color:var(--muted);font-size:12px;font-weight:600}@keyframes lf-bob{50%{translate:0 -8px}}.lf-quote{background:var(--text);width:100%;color:var(--panel);font:600 15px/1.45 var(--f-display), system-ui, sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;max-height:180px;margin:0;padding:16px 18px;position:relative;overflow:hidden}.lf-quote:after{content:"“";font:800 110px var(--f-display), system-ui, sans-serif;color:var(--accent);opacity:.35;pointer-events:none;position:absolute;top:-22px;right:10px}.lf-quote.empty{color:var(--muted)}.lf-kv{background:var(--panel);box-shadow:0 1px 0 var(--line);border-radius:20px;margin:0;padding:6px 18px}.lf-kv div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:14px;display:flex}.lf-kv div:last-child{border-bottom:0}.lf-kv dt{color:var(--muted)}.lf-kv dd{text-align:right;margin:0;font-weight:600}.lf-kv-total dd{color:var(--accent)}.lf-side-note{padding:0 6px}@media (max-width:900px){.lf-grid{grid-template-columns:1fr}.lf-side{order:1;position:static}.lf-preview{grid-template-columns:auto minmax(0,1fr);place-items:center start}.lf-sticker{width:130px}.lf-quote{max-height:130px;font-size:14px}}@media (max-width:560px){.lf-coin{grid-template-columns:1fr}.lf-drop{aspect-ratio:1;width:100%;max-width:220px;height:auto}.lf-fields-3{grid-template-columns:1fr}.lf-preview{grid-template-columns:1fr;justify-items:center}.lf-card{padding:16px}}@media (prefers-reduced-motion:reduce){.lf-sticker,.lf-steps li:before{animation:none!important}.lf-btn,.lf-chip,.lf-drop,.lf-field input,.lf-field textarea{transition:none}}
