:root{--primary-color: #604c3f;--primary-color-dark: #3a2e26;--gray: #9e9e9e;--red: #ae1914}body{font-family:Noto Sans TC,serif;font-optical-sizing:auto;font-weight:400;font-style:normal}.title{font-size:32px;font-weight:700;color:var(--primary-color-dark);text-align:center}.form-group{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.input-wrapper{position:relative;flex:1}input{width:100%;padding:12px 16px;border-radius:32px;border:2px solid var(--gray);box-sizing:border-box;font-size:16px;transition:border-color .2s}input::placeholder{color:var(--gray);font-weight:700}.input-error{border-color:var(--red)}.clear-btn,.toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:5px}.btn{width:100%;padding:16px;border-radius:32px;border:none;background-color:var(--primary-color);color:#fff;font-size:16px;font-weight:700;cursor:pointer}.btn.disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.6}.link{font-size:16px;font-weight:400;color:var(--primary-color);display:table;margin:0 auto}.link a:focus,.link button:focus,.link input:focus,.link select:focus{outline:2px solid #0066cc;outline-offset:2px}.link a:focus:not(:focus-visible),.link button:focus:not(:focus-visible),.link input:focus:not(:focus-visible),.link select:focus:not(:focus-visible){outline:none}.text-hint{font-size:14px;font-weight:400;color:#757575;text-align:center;line-height:24px}.error-message{font-size:12px;font-weight:400;color:var(--red);line-height:1;margin:5px 0 0}
