.shell{max-width:760px;margin:0 auto;padding:0 16px 40px}
.bar{display:flex;justify-content:space-between;align-items:center;padding:16px 0}
.bar nav{display:flex;gap:10px;align-items:center}
.link{border:0;background:none;text-decoration:underline;padding:6px}
.pill{font:700 .8rem "Bricolage Grotesque",sans-serif;padding:4px 10px;border-radius:999px;background:var(--card);border:2px solid var(--line)}
.view h1{font-size:clamp(2rem,6vw,3rem);margin:12px 0 16px}
input:not([type=radio]):not([type=file]){width:100%;font:inherit;padding:12px 14px;border-radius:14px;border:2px solid var(--line);background:var(--card);color:var(--ink);margin:6px 0 14px}
.btnlike,.btn{display:inline-block;font:700 1rem "Atkinson Hyperlegible",sans-serif;padding:12px 18px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;text-decoration:none}
button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#2E1A3D}
.grow{flex:1}.row.big button{padding:20px;font-size:1.2rem;border-radius:18px}.row.big #back{width:110px}
.fine{font-size:.92rem;color:var(--ink-soft)}.center{text-align:center}.moss{color:var(--moss);font-weight:700}
fieldset.mode{border:2px solid var(--line);border-radius:14px;padding:12px 16px;margin:16px 0;display:grid;gap:8px}
.plist{list-style:none;padding:0;display:grid;gap:10px}.plist li{background:var(--card);border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.plist button{padding:8px 12px}
.rlist{background:var(--card);border-radius:18px;padding:16px 16px 16px 40px;max-height:55vh;overflow:auto}
.rlist li{margin:8px 0}.rlist li[contenteditable]{outline:none}.rlist .lbl{color:var(--moss);font-weight:700;margin-right:6px}
.rlist h3{list-style:none;margin:14px 0 4px -24px;font:800 1.1rem "Bricolage Grotesque",sans-serif}
.work .whead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.progress{height:6px;background:var(--line);border-radius:3px;margin:10px 0 14px;overflow:hidden}#wbar{height:6px;background:var(--accent);width:0}
.card{background:var(--card);border-radius:26px;padding:22px;position:relative}
.work .card{min-height:42vh;display:flex;flex-direction:column;justify-content:center}
.prev{color:#9A8BAA;font-size:.95rem;margin:0 0 16px}.label{color:var(--moss);font-weight:700;margin:0 0 6px}
.now{font-size:clamp(1.5rem,5vw,2rem);line-height:1.35;margin:0}.stitch{font-weight:700;color:var(--ink-soft);margin:10px 0 0}.nextp{color:var(--ink-soft);font-size:.95rem;margin:22px 0 0}
.heard{position:absolute;top:12px;right:12px;background:var(--ink);color:var(--card);font-weight:800;padding:8px 12px;border-radius:14px;opacity:0;transition:opacity .2s}.heard.show{opacity:1}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}.chip{border-radius:999px;padding:8px 14px}.chip[aria-pressed=true]{background:var(--ink);color:var(--card);border-color:var(--ink)}
.counters{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.counter{background:var(--card);border-radius:16px;padding:10px 14px;display:flex;gap:10px;align-items:center}.counter b{font-size:1.4rem;min-width:2ch;text-align:center}
.offer .price{font:800 2.4rem "Bricolage Grotesque",sans-serif;margin:0}.offer ul{padding-left:1.2em}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
