.ui-btn{border:1.5px solid var(--line);background:var(--violet);color:#fff;cursor:pointer;width:100%;min-height:52px;box-shadow:var(--shadow-hard);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15.5px;font-weight:700;transition:transform 80ms,box-shadow 80ms;display:flex}.ui-btn:active{transform:translate(2px,3px);box-shadow:1px 1px #141414d9}.ui-btn[disabled],.ui-btn[aria-disabled=true]{cursor:not-allowed;background:#b9b3e6;transform:none}.ui-btn--light{background:var(--surface);color:var(--line)}.ui-btn--light[disabled],.ui-btn--light[aria-disabled=true]{background:var(--surface);opacity:.55}.ui-btn.ui-danger-link{min-height:44px;box-shadow:none;color:#b23a28;background:0 0;border:0;font-size:13px;font-weight:400;text-decoration:underline}.ui-btn.ui-danger-link:active{box-shadow:none;transform:none}.ui-link{color:var(--violet);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:13px;text-decoration:underline}.ui-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:10px;font-weight:700}.ui-label--accent{color:var(--violet);letter-spacing:.14em}.ui-field{margin-top:12px;display:block}.ui-field input,.ui-field select{border:1.5px solid var(--line);background:var(--surface);width:100%;font:inherit;color:var(--text);appearance:none;border-radius:14px;margin-top:6px;padding:14px 16px;font-size:17px;display:block}.ui-field__hint{color:var(--muted);margin-top:6px;font-size:12px}.ui-field__error{color:var(--heart);margin-top:6px;font-size:12.5px}.ui-check{background:var(--surface);border:1.3px solid var(--hairline);cursor:pointer;border-radius:14px;align-items:flex-start;gap:10px;margin-top:10px;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.35;display:flex}.ui-check input{width:20px;height:20px;accent-color:var(--violet);flex:none;margin:1px 0 0}.ui-card{background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--shadow-card);border-radius:20px}.ui-card--pad{padding:16px}.ui-chip{border:1.2px solid var(--line);background:var(--pink);font-family:var(--font-mono);border-radius:999px;align-items:center;gap:4px;padding:2px 8px 3px;font-size:10px;font-weight:700;display:inline-flex}.ui-tape{background:var(--tape);font-family:var(--font-serif);color:var(--violet);margin:0;padding:0 10px 4px;font-size:25px;font-style:italic;font-weight:400;display:inline-block;transform:rotate(-1.2deg)}.ui-notice{color:var(--muted);border:1.3px dashed #1414144d;border-radius:14px;padding:11px 14px;font-size:12.5px;line-height:1.45}.ui-sheet-backdrop{z-index:50;background:#14141461;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.ui-sheet{background:var(--surface);width:100%;max-width:430px;max-height:92dvh;padding:26px 20px calc(30px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;position:relative;overflow:auto;box-shadow:0 -8px 28px #14141440}.ui-sheet:before{content:"";background:var(--hairline);border-radius:99px;width:44px;height:5px;margin-left:-22px;position:absolute;top:11px;left:50%}.ui-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-link,button.ui-chip{position:relative}.ui-link:after,button.ui-chip:after{content:"";position:absolute;inset:-12px -6px}.wheel-heart{outline:none}.wheel-heart .wheel-ring{opacity:0}.wheel-heart:focus-visible .wheel-ring{opacity:1}.gm-crank:focus-visible .gm-knob{stroke:var(--violet);stroke-width:3.5px}.gm-wobble{transform-origin:50% 80%;animation:1.1s ease-in-out infinite gm-wobble}.lucky-pop{transform-box:fill-box;transform-origin:50% 100%;animation:.8s cubic-bezier(.2,1.5,.4,1) both lucky-pop}@keyframes lucky-pop{0%{transform:translateY(40px)scale(.3)}to{transform:none}}@keyframes gm-wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-8deg)}40%{transform:rotate(7deg)}60%{transform:rotate(-3deg)}}.birth-notime{min-height:40px;color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin-top:4px;font-size:13px;display:flex}.birth-notime input{width:18px;height:18px;accent-color:var(--violet);flex:none;margin:0}.ui-check em{color:var(--violet);font-size:12px;font-style:normal}.birth-seg{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin-top:6px;padding:4px;display:grid}.birth-seg button{min-height:40px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:15px;font-weight:600}.birth-seg button[aria-checked=true]{background:var(--violet);color:#fff}.rel-pill{border:1.5px solid var(--line);background:var(--surface);min-height:44px;font:inherit;color:var(--line);cursor:pointer;border-radius:999px;padding:0 18px;font-size:15px;font-weight:600}.rel-pill[aria-checked=true]{background:var(--violet);color:#fff}
