:root{--pink:#d90452;--blue:#025373;--ink:#222;--muted:#777;--line:#e5e5e5;--bg:#fff;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;margin:0}h1{margin:0;font-size:1.1rem}h2{margin:.5rem 0 0;font-size:1.3rem}p{margin:.5rem 0}.muted{color:var(--muted)}.small{font-size:.85rem}.warn{color:var(--pink)}.mono{word-break:break-all;font-family:ui-monospace,monospace;font-size:.7rem}.error{color:var(--pink);margin:.75rem 0}.screen{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.header{border-bottom:1px solid var(--line);padding:.75rem .5rem;padding-top:calc(.75rem + env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex}.content{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex}.version{text-align:center;color:var(--muted);padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));font-size:.7rem}.center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;display:flex}.btn{background:var(--pink);color:#fff;text-align:center;cursor:pointer;border:0;border-radius:10px;width:100%;padding:.9rem 1rem;font-size:1rem;font-weight:600;text-decoration:none;display:block}.btn.secondary{background:var(--blue)}.btn.danger{background:#b00020}.btn.small{width:auto;padding:.5rem .9rem;font-size:.9rem}.btn:disabled{opacity:.4;cursor:default}.icon-btn{cursor:pointer;width:2.5rem;height:2.5rem;color:var(--ink);background:0 0;border:0;font-size:1.3rem}.row{align-items:center;gap:.5rem;display:flex}.row>*{flex:1}.fab{right:1rem;bottom:calc(1.5rem + env(safe-area-inset-bottom));background:var(--pink);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:.9rem 1.2rem;font-weight:700;position:fixed;box-shadow:0 4px 12px #00000040}.banner{text-align:left;cursor:pointer;background:#fff3cd;border:1px solid #ffe08a;border-radius:8px;padding:.75rem}input,textarea{border:1px solid var(--line);border-radius:8px;width:100%;padding:.7rem;font-family:inherit;font-size:1rem}textarea{resize:vertical}.field{flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.tabs{border-bottom:1px solid var(--line);display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:.7rem 0;font-size:.95rem}.tabs button.on{color:var(--pink);border-bottom-color:var(--pink);font-weight:600}.list{margin:0;padding:0 0 4rem;list-style:none}.item{border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.grow{flex:1;min-width:0}.bullets{padding-left:1.2rem}.details{flex-direction:column;gap:.75rem;padding:1rem 0 4rem;display:flex}.pin{flex-direction:column;align-items:center;gap:1rem;margin-top:2rem;display:flex}.pin input{opacity:0;width:1px;height:1px;position:absolute}.dots{gap:.8rem;display:flex}.dots i{border:2px solid var(--pink);border-radius:50%;width:16px;height:16px}.dots i.on{background:var(--pink)}.words{grid-template-columns:1fr 1fr;gap:.5rem;margin:.5rem 0;padding-left:1.5rem;display:grid}.words li{border:1px solid var(--line);border-radius:8px;padding:.5rem .6rem;font-weight:600}.viewfinder{aspect-ratio:1;object-fit:cover;background:#000;border-radius:12px;width:100%}.spinner{border:4px solid var(--line);border-top-color:var(--pink);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal{background:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.card{background:#fff;border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:360px;padding:1.25rem;display:flex}
